mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-11 11:37:29 +08:00
parent
c7d02b9e1c
commit
9b0e25181d
@ -1,4 +1,4 @@
|
||||
# Parkers Pterodactyl eggs repo
|
||||
# Parkers Pterodactyl eggs repo
|
||||
|
||||
I am working on adding a large collection of public eggs for the Pterodactyl community.
|
||||
|
||||
@ -246,3 +246,5 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Grafana](/software/grafana)
|
||||
### haste-server
|
||||
* [haste-server](/software/haste-server)
|
||||
### RabbitMQ
|
||||
* [rabbitmq](/software/rabbitmq)
|
||||
|
40
software/rabbitmq/README.md
Normal file
40
software/rabbitmq/README.md
Normal file
@ -0,0 +1,40 @@
|
||||
# RabbitMQ
|
||||
|
||||
### From the [RabbitMQ](https://www.rabbitmq.com/) website
|
||||
RabbitMQ is the most widely deployed open source message broker.
|
||||
|
||||
### Installation
|
||||
Follow the common egg installation guide to install the egg on your Pterodactyl instance.
|
||||
When setting up a server, the latest RabbitMQ version will be used by default.
|
||||
|
||||
With pretty new and old versions of RabbitMQ, you might have to adjust the used Erlang version.
|
||||
This can be archived by adjusting the version number of the used image (e. g. `ghcr.io/pterodactyl/yolks:erlang_22` instead of `ghcr.io/parkervcp/yolks:erlang_24`).
|
||||
|
||||
### Configuration
|
||||
Configuring RabbitMQ in Pterodactyl is only possible using the config files.
|
||||
This means:
|
||||
- Configure the server itself as normal using `/home/container/etc/rabbitmq/rabbitmq.conf`
|
||||
- Enable plugins using the plugin file located at `/home/container/etc/rabbitmq/enabled_plugins`
|
||||
- Configure users and vhosts through a [definitions.json](https://www.rabbitmq.com/definitions.html)
|
||||
|
||||
You can set the path to the used `definitions.json` using the `load_definitions` option in your config.
|
||||
Note that RabbitMQ versions prior to 3.8.6 will require a properly configured management plugin to do so!
|
||||
The 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.
|
||||
|
||||
By default, only `listeners.tcp.default` is configured to match your primary allocation.
|
||||
If you want to expose some other port (e. g. the web management interface) you have to manually configure the
|
||||
port in your `rabbitmq.conf`.
|
||||
|
||||
### Update support
|
||||
The 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.
|
||||
|
||||
If you want to reset the server completly, remove the `etc` directory manually before reinstalling.
|
||||
|
||||
### Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
| --------------- | ------- |
|
||||
| RabbitMQ Broker | 5672 |
|
43
software/rabbitmq/egg-rabbit-m-q.json
Normal file
43
software/rabbitmq/egg-rabbit-m-q.json
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-08-02T15:24:45+02:00",
|
||||
"name": "RabbitMQ",
|
||||
"author": "p.zarrad@outlook.de",
|
||||
"description": "RabbitMQ is a feature rich, multi-protocol messaging broker.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:erlang_24",
|
||||
"ghcr.io\/parkervcp\/yolks:erlang_23",
|
||||
"ghcr.io\/parkervcp\/yolks:erlang_22"
|
||||
],
|
||||
"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\/parkervcp\/eggs\/master\/software\/rabbitmq\/rabbitmq.conf --output etc\/rabbitmq\/rabbitmq.conf; fi",
|
||||
"container": "ghcr.io\/pterodactyl\/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"
|
||||
}
|
||||
]
|
||||
}
|
1060
software/rabbitmq/rabbitmq.conf
Normal file
1060
software/rabbitmq/rabbitmq.conf
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user