This enables a RabbitMQ service container that can be used by other containers on the same network and the host machine itself.
- Copy docker-compose.rabbitmq.yaml to your project
- Copy the directory rabbitmq-build to your project.
The rabbitmq-build directory contains the enabled plugins, these are required for having a functioning RabbitMQ service, as the container would otherwise stop itself shortly after starting. The plugins themselves are what enables the management UI and the graphs within it.
From within the container, the RabbitMQ container is reached at hostname: ddev-<projectname>-rabbitmq
, port: 5672, so the server URL might be amqp://ddev-<projectname>-rabbitmq:5672
.
For more details check the connection section below.
RabbitMQ is accessible from the host machine itself as well as between the containers on the same network, and comes with a nice management UI for ease of use.
Important: If you need to run multiple ddev sites that use this RabbitMQ service, you will have to alter the ports per site in the docker-compose.rabbitmq.yaml.
The management UI can be accessed through http://<DDEV_SITENAME>.ddev.site:15672
on the host machine. Username "rabbitmq", password "rabbitmq".
You can access the RabbitMQ service through it's AMQP protocol two ways:
- From the host machine:
amqp://<DDEV_SITENAME>.ddev.site:5672
- From docker containers on the same docker network (ddev_default):
amqp://ddev-<projectname>-rabbitmq:5672
Originally by @Graloth