{"meta":{"slug":"rabbit-m-q","name":"Rabbit M Q","category":"rabbitmq","source":"pterodactyl","owner":"pterodactyl","repo":"application-eggs","branch":"main","path":"rabbitmq/egg-rabbit-m-q.json","rawUrl":"https://raw.githubusercontent.com/pterodactyl/application-eggs/main/rabbitmq/egg-rabbit-m-q.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2025-10-03T19:05:05+02:00","name":"RabbitMQ","author":"p.zarrad@outlook.de","description":"RabbitMQ is a feature rich, multi-protocol messaging broker.","features":null,"docker_images":{"ghcr.io/ptero-eggs/yolks:erlang_22":"ghcr.io/ptero-eggs/yolks:erlang_22","ghcr.io/ptero-eggs/yolks:erlang_23":"ghcr.io/ptero-eggs/yolks:erlang_23","ghcr.io/ptero-eggs/yolks:erlang_24":"ghcr.io/ptero-eggs/yolks:erlang_24","ghcr.io/ptero-eggs/yolks:erlang_25":"ghcr.io/ptero-eggs/yolks:erlang_25","ghcr.io/ptero-eggs/yolks:erlang_26":"ghcr.io/ptero-eggs/yolks:erlang_26"},"file_denylist":[],"startup":"./sbin/rabbitmq-server","config":{"files":"{\r\n    \"etc/rabbitmq/rabbitmq.conf\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"listeners.tcp.default\": \"listeners.tcp.default    = 0.0.0.0:{{server.build.default.port}}\"\r\n        }\r\n    }\r\n}","startup":"{\r\n    \"done\": \" completed with\"\r\n}","logs":"{}","stop":"^C"},"scripts":{"installation":{"script":"#!/bin/sh\r\n# Switch to mounted directory\r\ncd /mnt/server\r\n# Update and install xz\r\napk update\r\napk add xz\r\n# Cleanup previous install if available but leave etc untouched\r\nfind . -maxdepth 1 ! -name \"etc\" ! -name . -exec rm -rf {} \\;\r\n# Download and extract RabbitMQ\r\nversion=${RABBITMQ_VERSION}\r\nif [ \"$version\" = \"latest\" ]; then version=$(curl --silent \"https://api.github.com/repos/rabbitmq/rabbitmq-server/releases/latest\" | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\\1/' | cut -c2-); fi\r\ncurl -L https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/rabbitmq-server-generic-unix-${version}.tar.xz --output rabbitmq.tar.xz\r\nxz -v -d rabbitmq.tar.xz && tar -xvf rabbitmq.tar\r\nmv -n rabbitmq_server-*/* ./\r\nrm -rf rabbitmq.tar rabbitmq_server-*/\r\n# If there is no config, download default one\r\nif [ ! -f \"etc/rabbitmq/rabbitmq.conf\" ]; then mkdir -p etc/rabbitmq/ && curl -L https://raw.githubusercontent.com/Ptero-Eggs/application-eggs/main/rabbitmq/rabbitmq.conf --output etc/rabbitmq/rabbitmq.conf; fi","container":"ghcr.io/ptero-eggs/installers:alpine","entrypoint":"ash"}},"variables":[{"name":"RabbitMQ Version","description":"The version of RabbitMQ to install. By default the latest version is being installed.","env_variable":"RABBITMQ_VERSION","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|max:20","field_type":"text"}]},"readme":"# RabbitMQ\n\n## From the [RabbitMQ](https://www.rabbitmq.com/) website\n\nRabbitMQ is the most widely deployed open source message broker.\n\n## Installation\n\nFollow the common egg installation guide to install the egg on your Pterodactyl instance.\nWhen setting up a server, the latest RabbitMQ version will be used by default.\n\nWith pretty new and old versions of RabbitMQ, you might have to adjust the used Erlang version.\nThis can be archived by adjusting the version number of the used image (e. g. `ghcr.io/pterodactyl/yolks:erlang_22` instead of `ghcr.io/ptero-eggs/yolks:erlang_24`).\n\nThe latest version as of now requires you to use atleast ghcr.io/pterodactyl/yolks:erlang_25\n\n## Configuration\n\nConfiguring RabbitMQ in Pterodactyl is only possible using the config files.\nThis means:\n\n- Configure the server itself as normal using `/home/container/etc/rabbitmq/rabbitmq.conf`\n- Enable plugins using the plugin file located at `/home/container/etc/rabbitmq/enabled_plugins`\n- Configure users and vhosts through a [definitions.json](https://www.rabbitmq.com/definitions.html)\n\nYou can set the path to the used `definitions.json` using the `load_definitions` option in your config.\nNote that RabbitMQ versions prior to 3.8.6 will require a properly configured management plugin to do so!\nThe easiest way to get a working `definitions.json` is to setup a local instance with the management plugin. You can configure your instance there and load the definitions as stated by uploading them.\n\nBy default, only `listeners.tcp.default` is configured to match your primary allocation.\nIf you want to expose some other port (e. g. the web management interface) you have to manually configure the\nport in your `rabbitmq.conf`.\n\n## Update support\n\nThe egg _should_ keep the `etc` folder when reinstalling, to prevent destroying the configuration by accident. Therefore a reinstallation with \"latest\" as the selected version can be used to update RabbitMQ.\n\nIf you want to reset the server completly, remove the `etc` directory manually before reinstalling.\n\n### Server Ports\n\nPorts required to run the server in a table format.\n\n| Port            | default |\n| --------------- | ------- |\n| RabbitMQ Broker | 5672    |\n"}