-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
feat(service): add Pterodactyl & Wings services #5537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
Conversation
- Fixed configuration issues in existing Pterodactyl Docker setup - Added new panel-only configuration for standalone Panel instances - Added new wings-only configuration for dedicated game servers - Created combined configuration for all-in-one deployments
It was a mistake, sorry. I recreated the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please change the templates based on the comments provided.
- And also ensure that wings is changed the same way as it is in pterodactyl with wings.
- Add a logo for wings
- Also please remove all
restart
as Coolify will add them
From what I can tell there is no separate logo for wings, which is why I used the same Pterodactyl. |
I have made the requested changes, let me know if I missed anything. Also would I need to make another PR to add Pyrodactyl? All you have to do with existing deployments is change 'ghcr.io/pterodactyl/panel:latest' to 'ghcr.io/pyrohost/pyrodactyl:main'. Is there anything built into Coolify that would allow users to choose which panel frontend to use when deploying it? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make the requested changes also for the separate wings template as well.
Two more things:
- feat(service): add Pyrodactyl service #5477: A Pyrodactyl PR that was closed because it was not working.
- Next time, please only add one Service per PR.
- "/var/run/docker.sock:/var/run/docker.sock" | ||
- "/var/lib/docker/containers/:/var/lib/docker/containers/" | ||
- "/var/lib/pterodactyl/volumes:/var/lib/pterodactyl/volumes" | ||
- "/tmp/pterodactyl:/tmp/pterodactyl" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whenever possible, please use volume mounts instead of bind mounts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/docker/containers/:/var/lib/docker/containers/"
- "/var/lib/pterodactyl/volumes:/var/lib/pterodactyl/volumes"
- "/tmp/pterodactyl:/tmp/pterodactyl"
- wings_lib:/var/lib/pterodactyl/
- wings_logs:/var/log/pterodactyl/
When attempting to convert the containers or volumes paths to be volume mounts there would be many issues actually spinning up the containers, usually permission issues or things "not existing".
This is probably because the docker socket has issues when its volume mounts, even making '/tmp/pterodactyl' a volume mount would cause issues.
Both wings_lib and wings_logs can be volumes though.
environment: | ||
- SERVICE_FQDN_WINGS_8443 | ||
- "TZ=${TIMEZONE:-UTC}" | ||
- WINGS_USERNAME=pterodactyl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This username can be auto generated
- MAIL_PASSWORD=$MAIL_PASSWORD | ||
- MAIL_ENCRYPTION=$MAIL_ENCRYPTION | ||
|
||
wings: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wings service is not accessible on http
. Make it work on http
by default if possible, if that is not possible please add this to your docs PR as a note.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wings is already running over plain HTTP by setting ssl.enabled: false in its config file. The HTTP port Wings listens on is defined inside this config (api.port, usually 8443), not via environment variables.
However, to make Wings accessible externally over HTTP, that port must be explicitly published in the Docker Compose ports: section (e.g., 8443:8443). Without this port mapping, Wings won’t be reachable outside the container, even though it is running HTTP internally.
Because the port is configured inside the mounted config file and not via environment variables, making the port dynamically configurable from Compose alone is tricky. Any port changes in the config file must be matched manually with corresponding Docker port mappings.
sftp: | ||
bind_port: 2022 | ||
allowed_mounts: [] | ||
remote: '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a healthcheck
to wings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When attempting to add health checks to wings it just says "starting up" at all times. If I'm not mistaken I think this is because the wings container is very stripped down and doesn't include curl.
…ts changed to volume mounts.
Changes