
What is Pterodactyl? ​
Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
Pterodactyl consists of two core components that work together: the Panel (web interface) and Wings (server daemon). The Panel provides the management interface, while Wings handles the actual game server operations on each node.
Current Features ​
- Multi-server management from one dashboard
- Secure daemon (Wings) with process isolation
- Docker-based containerization for each server
- Web-based dashboard
- Role-based user permissions
- Real-time CPU, RAM, and network monitoring
- Automated server updates and backups
What is Wings? ​
Wings is Pterodactyl's server control daemon, written in Go. It runs on each server node and handles all game server operations including creation, management, and monitoring of server instances.
Wings communicates with the Pterodactyl Panel via its REST API, receiving commands and configuration while sending back real-time statistics, console output, and status updates. Each game server runs in an isolated Docker container managed by Wings.
Key capabilities:
- Server lifecycle management - Start, stop, restart, and configure game servers
- Docker container orchestration - Automatic provisioning and isolation
- Real-time monitoring - CPU, RAM, disk, and network usage tracking
- Console streaming - Live server console output to the Panel
- File management - Handle server files, backups, and scheduled tasks
- Resource enforcement - CPU and memory limits per container
Installation on Coolify ​
Coolify offers two deployment options for Pterodactyl: a combined Panel + Wings template for single-server setups, or separate deployments for distributed architectures.
Option 1: Pterodactyl With Wings (Combined Template) ​
Best for single-server deployments where the Panel and Wings run together.
Install the latest Pterodactyl With Wings template from Coolify.
Deploy the template.
Visit the panel URL and log in using your admin credentials.
Navigate to the Admin Panel → Locations and create a new location (e.g.,
us,eu, ...).Create a new node and configure the following fields:
- FQDN →
wings-abc1abc2abc3abc4.example.com(Withouthttp://orhttps://) - Communicate Over SSL → Enabled (Change this only if you know what you're doing)
- Daemon Port →
443(Important! Coolify automatically forwards port443 → 8443)
- FQDN →

- Navigate to the configuration tab of your node and save the configuration to a safe location.

In Coolify, go to Persistent Storages and locate
config.yml. Replace the following values with those from your saved configuration:uuidtoken_idtokenapi > ssl > certapi > ssl > key
Update your panel domain under
allowed_originsto match your actual panel domain.Wait approximately 3–5 minutes for Wings to restart. If the configuration was successful, the About section of your node should display your Daemon Version and other information.
Your panel is now ready for use.
Option 2: Separate Panel and Wings Installation ​
Best for distributed setups where Wings nodes run on different servers than the Panel.
When installing Wings separately in Coolify with a reverse proxy, you cannot have it listen directly on port 443 inside the container. Instead, configure it to use port 8443 internally, while Coolify forwards 443 to 8443. The Pterodactyl Panel should still be configured to use port 443 externally.
Steps:
Generate the Wings config in the Panel
- In the Pterodactyl Panel, create a node and download the
config.yml. - Configure the node with:
- Hostname (e.g.,
host.example.com, withouthttps://) — not an IP address - Port:
443 - Proxy setting enabled
- Hostname (e.g.,
- In the Pterodactyl Panel, create a node and download the
Update the config in Coolify
- In your Coolify Wings service, open the Persistent Storages tab.
- You'll see
/etc/pterodactyl/config.ymlalready present with a default template. - Edit it directly, replacing the placeholders with values from the Panel-generated file.
- Change the
api.portto8443:yamlapi: host: 0.0.0.0 port: 8443
Restart Wings
- Once the changes are saved, restart the Wings container to apply the new settings.
Common Issues ​
Node not connecting
- Ensure your node is configured to use port
443in the Panel. - Verify that Wings is configured to use port
8443internally when using Coolify's reverse proxy.
Cannot access the server on the node
- Confirm that you added your panel domain under
allowed_originsin the Wings configuration.
Screenshots ​
Panel Interface ​






Wings Node Management ​



