Documentation

Self-hosting

Moonwire needs one service and PostgreSQL. It does not require Redis, Kafka, NATS, RabbitMQ, or Kubernetes.

Production assumptions

  • Terminate TLS at a trusted reverse proxy or load balancer.
  • Keep PostgreSQL and /metrics on private networks.
  • Replace every local development credential and run the service as a non-superuser database role.
  • Back up both state and immutable history; test restoration.
  • Monitor readiness, queue depth, dead jobs, propagation latency, and database saturation.

Operations guides

The named Compose volume contains all state. Do not run docker compose down -v unless deleting that state is intended.