RabbitMQ Support Thread


Recommended Posts

logo-rabbitmq.svg

This docker template was created based on an already available docker image

 

RabbitMQ: https://www.rabbitmq.com/
GitHub: https://github.com/docker-library/rabbitmq
DockerHub: https://hub.docker.com/_/rabbitmq
My Repository: https://github.com/Polemus/Unraid/blob/main/RabbitMQ/

 

DESCRIPTION

RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages.

Edited by Dusty Roberts
Link to comment
  • 6 months later...

Thank you for making this template. Exactly what I was searching for. A few notes on this template.

 

The 3 environment variables in the template need to be removed. Reviewing the docs, it seems there is some confusion with how the examples translate to unraid.

  1. "hostname" should be removed and "--hostname my-rabbit" should be added to the extra parameters box.
  2. "name" (labelled as "Instance Name" in the template) can be removed. This is set by unraid using the "Name" entry.
  3. "rabbitmq" (labelled as "Image" in the template) can be removed. This is set by unraid using the "Repository" entry.

Persistent data can be achieved by linking the container path:

/var/lib/rabbitmq

to an unraid appdata path such as:

/mnt/user/appdata/rabbitmq/data/

Doing so will allow data to survive even a container delete and re-create. The linked directory can be empty on first start. It's also critical the hostname is set in extra parameters or else the data will keep getting reset.
 

Persistent config was a bit more tricky. I linked the container path:

/etc/rabbitmq

to an unraid appdata path:

/mnt/user/appdata/rabbitmq/config/

and then made the files, which can be done with something like this from within unraid:

mkdir /mnt/user/appdata/rabbitmq/config/conf.d/
echo "[rabbitmq_management,rabbitmq_prometheus]." > /mnt/user/appdata/rabbitmq/config/enabled_plugins
echo "loopback_users.guest = false" >> /mnt/user/appdata/rabbitmq/config/conf.d/10-defaults.conf
echo "log.console = true" >> /mnt/user/appdata/rabbitmq/config/conf.d/10-defaults.conf

You could also run the container first and copy out the /etc/rabbitmq path to get those files. The defaults file comes from: https://github.com/docker-library/rabbitmq/blob/master/10-defaults.conf, but for reference see: https://www.rabbitmq.com/configure.html#example-config

 

Finally proper permissions can be set with:

chown -R 999:999 /mnt/user/appdata/rabbitmq/data
chown -R nobody:users /mnt/user/appdata/rabbitmq/config
chmod -R 777 /mnt/user/appdata/rabbitmq/config

 

Link to comment
  • 1 year later...
On 2/8/2023 at 10:08 AM, ootri said:

Thank you for making this template. Exactly what I was searching for. A few notes on this template.

 

The 3 environment variables in the template need to be removed. Reviewing the docs, it seems there is some confusion with how the examples translate to unraid.

  1. "hostname" should be removed and "--hostname my-rabbit" should be added to the extra parameters box.
  2. "name" (labelled as "Instance Name" in the template) can be removed. This is set by unraid using the "Name" entry.
  3. "rabbitmq" (labelled as "Image" in the template) can be removed. This is set by unraid using the "Repository" entry.

Persistent data can be achieved by linking the container path:

/var/lib/rabbitmq

to an unraid appdata path such as:

/mnt/user/appdata/rabbitmq/data/

Doing so will allow data to survive even a container delete and re-create. The linked directory can be empty on first start. It's also critical the hostname is set in extra parameters or else the data will keep getting reset.
 

Persistent config was a bit more tricky. I linked the container path:

/etc/rabbitmq

to an unraid appdata path:

/mnt/user/appdata/rabbitmq/config/

and then made the files, which can be done with something like this from within unraid:

mkdir /mnt/user/appdata/rabbitmq/config/conf.d/
echo "[rabbitmq_management,rabbitmq_prometheus]." > /mnt/user/appdata/rabbitmq/config/enabled_plugins
echo "loopback_users.guest = false" >> /mnt/user/appdata/rabbitmq/config/conf.d/10-defaults.conf
echo "log.console = true" >> /mnt/user/appdata/rabbitmq/config/conf.d/10-defaults.conf

You could also run the container first and copy out the /etc/rabbitmq path to get those files. The defaults file comes from: https://github.com/docker-library/rabbitmq/blob/master/10-defaults.conf, but for reference see: https://www.rabbitmq.com/configure.html#example-config

 

Finally proper permissions can be set with:

chown -R 999:999 /mnt/user/appdata/rabbitmq/data
chown -R nobody:users /mnt/user/appdata/rabbitmq/config
chmod -R 777 /mnt/user/appdata/rabbitmq/config

 


Wanted to say thank you for taking the time to explain all these steps. I just got rabbitmq installed correctly using them.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.