Deployment Overview
rabbitmq-backup is a single, statically-linked binary that runs on any platform where Rust compiles. Choose the deployment model that fits your infrastructure.
Supported Platforms
| Platform | Method | Best For |
|---|---|---|
| Bare metal / VM | Release binary or build from source | Traditional infrastructure, cron-based backups |
| Docker | Pre-built image or docker compose | Containerized environments, local development |
| Kubernetes | CronJob + ConfigMap | Scheduled backups in K8s clusters |
Requirements
RabbitMQ
- RabbitMQ 3.8 or later (tested up to 4.0)
- Management Plugin enabled -- required for definitions export/import and queue discovery
- Stream Plugin (optional) -- required only if you back up stream-type queues
Verify the Management Plugin is enabled on your broker:
rabbitmq-plugins list | grep rabbitmq_management
If it is not enabled:
rabbitmq-plugins enable rabbitmq_management
Network Access
The backup tool needs the following network connectivity to the RabbitMQ broker:
| Port | Protocol | Purpose |
|---|---|---|
| 5672 | AMQP 0-9-1 | Message backup and restore |
| 15672 | HTTP | Management API (definitions, queue discovery) |
| 5552 | Stream Protocol | Stream-type queue backup (optional) |
For TLS-secured brokers, the corresponding TLS ports (5671, 15671) apply instead.
Storage
You need one of the following storage backends configured:
- AWS S3 (or S3-compatible: MinIO, Ceph RGW, DigitalOcean Spaces)
- Azure Blob Storage
- Google Cloud Storage
- Local filesystem
See the Cloud Setup guides for provider-specific instructions.
System Resources
| Resource | Recommendation |
|---|---|
| CPU | 1 core minimum; 2+ cores for concurrent queue backup |
| Memory | 256 MB minimum; scales with prefetch_count and max_concurrent_queues |
| Disk | Only needed for filesystem storage or SQLite checkpoint; size depends on message volume |
Configuration
All deployment methods use the same YAML configuration file. A minimal backup configuration looks like this:
mode: backup
backup_id: "my-backup-001"
source:
amqp_url: "amqp://user:password@rabbitmq-host:5672/%2f"
management_url: "http://rabbitmq-host:15672"
management_username: user
management_password: password
storage:
backend: filesystem
path: /var/lib/rabbitmq-backup/data
backup:
compression: zstd
include_definitions: true
See the individual deployment guides for platform-specific details:
Next Steps
- Set up cloud storage: AWS S3 | Azure Blob | GCS
- Walk through a full backup: Backup to S3 Guide
- See working examples: Basic Backup & Restore