RabbitMQ 是一个功能丰富、支持多协议的消息代理。
预设配置详情
RabbitMQ
来自 RabbitMQ 官网
RabbitMQ 是部署最广泛的开源消息代理。
安装
按照通用 egg 安装指南,在您的 Pterodactyl 实例上安装此 egg。
设置服务器时,默认将使用最新的 RabbitMQ 版本。
对于较新或较旧的 RabbitMQ 版本,您可能需要调整所使用的 Erlang 版本。
这可以通过调整所用镜像的版本号来实现(例如,使用 ghcr.io/pterodactyl/yolks:erlang_22 代替 ghcr.io/parkervcp/yolks:erlang_24)。
截至目前的最新版本要求您至少使用 ghcr.io/pterodactyl/yolks:erlang_25。
配置
在 Pterodactyl 中配置 RabbitMQ 只能通过配置文件进行。
这意味着:
- 像往常一样通过
/home/container/etc/rabbitmq/rabbitmq.conf配置服务器本身 - 通过位于
/home/container/etc/rabbitmq/enabled_plugins的插件文件启用插件 - 通过 definitions.json 配置用户和虚拟主机
您可以使用配置中的 load_definitions 选项设置所使用的 definitions.json 路径。
请注意,RabbitMQ 3.8.6 之前的版本需要正确配置管理插件才能实现此功能!
获取可用 definitions.json 的最简单方法是使用管理插件设置一个本地实例。您可以在那里配置实例,并通过上传的方式加载定义文件。
默认情况下,仅配置了 listeners.tcp.default 以匹配您的主分配端口。
如果您想暴露其他端口(例如 Web 管理界面),则必须在 rabbitmq.conf 中手动配置该端口。
更新支持
此 egg 在重新安装时应保留 etc 文件夹,以防止意外破坏配置。因此,可以通过选择 "latest" 版本进行重新安装来更新 RabbitMQ。
如果您想完全重置服务器,请在重新安装前手动删除 etc 目录。
服务器端口
以表格形式列出运行服务器所需的端口。
| 端口 | 默认值 |
|---|---|
| RabbitMQ 消息代理 | 5672 |
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_22
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_23
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_24
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_25
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_26
./sbin/rabbitmq-server
| 变量名 | 变量 | 描述 | 默认值 | 规则 | 可查看 | 可编辑 |
|---|---|---|---|---|---|---|
| RabbitMQ 版本 | RABBITMQ_VERSION |
要安装的RabbitMQ版本。默认情况下会安装最新版本。 | latest |
required|string|max:20
必填 字符串 最大 20
|
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:alpine
ash
#!/bin/sh
# Switch to mounted directory
cd /mnt/server
# Update and install xz
apk update
apk add xz
# Cleanup previous install if available but leave etc untouched
find . -maxdepth 1 ! -name "etc" ! -name . -exec rm -rf {} \;
# Download and extract RabbitMQ
version=${RABBITMQ_VERSION}
if [ "$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
curl -L https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/rabbitmq-server-generic-unix-${version}.tar.xz --output rabbitmq.tar.xz
xz -v -d rabbitmq.tar.xz && tar -xvf rabbitmq.tar
mv -n rabbitmq_server-*/* ./
rm -rf rabbitmq.tar rabbitmq_server-*/
# If there is no config, download default one
if [ ! -f "etc/rabbitmq/rabbitmq.conf" ]; then mkdir -p etc/rabbitmq/ && curl -L https://raw.githubusercontent.com/parkervcp/eggs/master/software/rabbitmq/rabbitmq.conf --output etc/rabbitmq/rabbitmq.conf; fi
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
"meta": {
"update_url": "https://eggs.pterodactyl.top/eggs/13/download/egg-rabbitmq.json",
"version": "PTDL_v2"
},
"exported_at": "2024-06-02T14:40:54+00:00",
"name": "RabbitMQ",
"author": "p.zarrad@outlook.de",
"description": "RabbitMQ 是一个功能丰富、支持多协议的消息代理。",
"features": null,
"docker_images": {
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_22": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_22",
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_23": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_23",
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_24": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_24",
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_25": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_25",
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:erlang_26": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/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}",
"logs": "{}",
"startup": "{\r\n \"done\": \" completed with\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:alpine",
"entrypoint": "ash",
"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/parkervcp/eggs/master/software/rabbitmq/rabbitmq.conf --output etc/rabbitmq/rabbitmq.conf; fi"
}
},
"variables": [
{
"name": "RabbitMQ 版本",
"description": "要安装的RabbitMQ版本。默认情况下会安装最新版本。",
"env_variable": "RABBITMQ_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}附属文件
暂无附属文件
提交历史
[AI翻译] 描述、说明、JSON描述、变量
[AI翻译] 名称、描述、说明、JSON描述、变量
[AI翻译] 名称、描述、说明、JSON描述、变量
[AI翻译] 名称、描述、说明、JSON描述、变量
[AI翻译] 名称、描述、说明、JSON描述、变量
[AI翻译] 名称、描述、说明、JSON描述、变量
批量导入
Fork 关系
查看关系图暂无 Fork,成为第一个 Fork 的人吧!