Skip to main content

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

PlatformMethodBest For
Bare metal / VMRelease binary or build from sourceTraditional infrastructure, cron-based backups
DockerPre-built image or docker composeContainerized environments, local development
KubernetesCronJob + ConfigMapScheduled 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:

PortProtocolPurpose
5672AMQP 0-9-1Message backup and restore
15672HTTPManagement API (definitions, queue discovery)
5552Stream ProtocolStream-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

ResourceRecommendation
CPU1 core minimum; 2+ cores for concurrent queue backup
Memory256 MB minimum; scales with prefetch_count and max_concurrent_queues
DiskOnly 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