RabbitMQ
3-node RabbitMQ 4.x cluster, quorum-queue ready, with the management UI - clusters itself on first boot.
One-click deploy, from $25/mo on a Miget plan.
RabbitMQ remains the workhorse message broker: AMQP 0-9-1, mature client libraries in every language, and (since 4.x) quorum queues as the default path to real high availability. This template runs a 3-node cluster that forms itself on first boot via classic-config peer discovery - no manual join commands.
Each node keeps its state on its own persistent volume. The first node serves the management UI publicly; the other two stay private. Declare your queues as quorum queues and any single node can fail without losing messages or availability.
Apps in the same project connect over AMQP at amqp://rmq-1:5672 (any node works). At 1 GiB per node, the whole HA cluster is light enough to fit a $25/month plan with room to spare.
Upstream project: RabbitMQ
#what you get
- RabbitMQ 4.x with quorum queues - replicated, Raft-backed HA queues
- Automatic cluster formation on first boot (rabbit@rmq-1/2/3)
- Management UI on the public entrypoint, nodes private
- Per-node persistent volumes for mnesia state
- Standard AMQP 0-9-1 - every language has a mature client
- Identical local run with plain docker compose up
#topology
| Service | Role | Public |
|---|---|---|
| rmq-1 | cluster node + management UI | yes (HTTP) |
| rmq-2, rmq-3 | cluster nodes | no |
#miget sizing
// this stack needs
3 GiB RAM · 6 GB disk · 3 services
1 GiB per node handles substantial message throughput. Disk is small (2 GB per node) because RabbitMQ is not a long-retention store - scale volumes up if you use lazy/long queues.
Hobby - recommended fit
$25/mo
2 vCPU · 4 GiB · 80 GiB disk
Headroom for your own apps: 8 GiB at $49/mo
Professional - production
$43/mo
2 vCPU · 4 GiB · 25 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| RabbitMQ on Miget ★ | 4 GiB plan | $25 | this whole stack, flat - no usage meters, and room left for your own apps |
| CloudAMQP | Big Bunny (3-node HA) | ~$297 | cheapest dedicated 3-node HA cluster (~1k msg/s sustained, multi-AZ) |
| CloudAMQP | Sassy Squirrel (1 node) | ~$50 | cheapest dedicated instance - single node, no HA |
#vs. other PaaS
Estimated monthly cost of running this exact stack (3 GiB RAM, 6 GB disk, 3 containers) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $25 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$150 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| DO App Platform | ~$41 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Render | ~$39 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| Railway | ~$31 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$19 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
rabbitmq - No required variables - deploy as-is
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/rabbitmq
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
How much does self-hosting RabbitMQ cost compared to CloudAMQP?
This 3-node HA cluster fits the 4 GiB Miget hobby plan at $25/month flat. A comparable dedicated 3-node HA cluster on CloudAMQP costs an order of magnitude more; shared plans are cheaper but throttled and multi-tenant.
Are quorum queues enabled?
The cluster is quorum-queue ready - declare queues with x-queue-type: quorum (or set a queue-type policy) and they replicate across all three nodes with Raft. Classic queues still work for non-critical traffic.
What happens if a RabbitMQ node dies?
For quorum queues, the remaining two nodes keep a majority and the queue stays available - producers and consumers reconnect to a living node and continue. The failed node rejoins the cluster automatically when it comes back.
How do applications connect?
From apps in the same Miget project: amqp://user:pass@rmq-1:5672 (any node accepts connections). For resilience, configure your client with all three hosts. AMQP is never exposed publicly - only the management UI gets a domain.
Ship RabbitMQ today
One compose stack, 3 GiB of RAM, from $25/month flat, and it runs on your laptop with the same files.