RabbitMQ¶
The Wodby RabbitMQ catalog stack runs a single RabbitMQ service with the management UI. The current composition and
defaults are documented in wodby/stack-rabbitmq.
Connect an application¶
Link your application's app service to the RabbitMQ app service. See Links. The app service receives the host, port and the account tokens in variables named by the linking service. Read them in code. Do not copy the password into your repository.
| Port | Use |
|---|---|
5672 |
AMQP, without TLS |
15672 |
Management UI and HTTP API |
15692 |
Prometheus metrics at /metrics, internal only |
The account tokens are on the RabbitMQ app service's Configuration > Tokens tab:
username:wodbypassword: generated by Wodbyvhost:/
Applications do not need the generated erlang_cookie token.
Management UI¶
The management port is an HTTP endpoint, so Wodby generates a technical route for it. Sign in with the username and
password tokens above. To stop serving the route, disable it under Endpoints. See
Endpoints.
Manage accounts¶
RabbitMQ applies the default user, password and virtual host only when it first creates its database. Changing the tokens
later does not change the account. Change accounts in RabbitMQ itself, with rabbitmqctl in a
web terminal or in the management UI.
Settings¶
Set these variables on the app service under Configuration > Variables. See Environment variables.
| Variable | Setting | Default |
|---|---|---|
RABBITMQ_CHANNEL_MAX |
channel_max |
2047 |
RABBITMQ_HEARTBEAT |
heartbeat |
60 |
RABBITMQ_VM_MEMORY_HIGH_WATERMARK_RELATIVE |
Memory high watermark, as a share of available memory | 0.4 |
RABBITMQ_DISK_FREE_LIMIT |
disk_free_limit.absolute |
50MB |
Do not edit the generated RabbitMQ configuration file; it is rewritten on every start.
Data and limits¶
The stack adds a 5 GB Data volume. It holds definitions, queues and messages. Without the volume, everything, including users and queues created at runtime, is lost when the container is replaced. A message survives a restart only when the volume exists, the queue is durable and the message is persistent.
RabbitMQ runs as a single node and does not scale. The service has no backup or import support.
Check that it works¶
In a web terminal on the RabbitMQ app service, run:
rabbitmq-diagnostics -q ping
rabbitmqctl list_queues name messages consumers
rabbitmqctl list_users