Skip to content

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

Open
wants to merge 5 commits into
base: next
Choose a base branch
from

Conversation

CallMeVerity
Copy link

Changes

  • Fixed issues in existing Pterodactyl config
  • 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

CallMeVerity and others added 2 commits April 4, 2025 01:35
- 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
@andrasbacsai andrasbacsai deleted the branch coollabsio:next May 9, 2025 06:31
@andrasbacsai
Copy link
Member

It was a mistake, sorry. I recreated the next branch and it auto-closed this PR.

@andrasbacsai andrasbacsai reopened this May 9, 2025
Copy link
Member

@peaklabs-dev peaklabs-dev left a 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

@peaklabs-dev peaklabs-dev added ⚙️ Service Issues requesting or PRs adding/fixing service templates. 💤 Waiting for changes PRs awaiting changes from the author. labels May 23, 2025
@peaklabs-dev peaklabs-dev changed the title feat(pterodactyl): Add Docker Compose configs for panel & wings feat(service): add Pterodactyl & Wings services May 23, 2025
@CallMeVerity
Copy link
Author

* Add a logo for wings

From what I can tell there is no separate logo for wings, which is why I used the same Pterodactyl.

@CallMeVerity
Copy link
Author

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?

@CallMeVerity CallMeVerity requested a review from peaklabs-dev May 26, 2025 00:51
Copy link
Member

@peaklabs-dev peaklabs-dev left a 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:

  1. feat(service): add Pyrodactyl service #5477: A Pyrodactyl PR that was closed because it was not working.
  2. 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"
Copy link
Member

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.

Copy link
Author

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
Copy link
Member

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:
Copy link
Member

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.

Copy link
Author

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: ''
Copy link
Member

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

Copy link
Author

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.

@CallMeVerity CallMeVerity requested a review from peaklabs-dev May 28, 2025 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚙️ Service Issues requesting or PRs adding/fixing service templates. 💤 Waiting for changes PRs awaiting changes from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants