panel.tar.gz to /var/www/pterodactyl, run composer install, php artisan p:environment:setup, php artisan migrate --seed --force and php artisan p:user:make, then add the cron job, the pteroq queue worker and an Nginx site with HTTPS. Finally install Docker and Wings, which runs the game servers.
FREAKHOSTING also offers managed game servers on its Game Panel if you’d rather not run a panel yourself: see how to log in to the Game Panel.
Before you start
- Pterodactyl has two parts. The Panel is the PHP website you log in to. Wings is the daemon that runs each game server in a Docker container. This guide puts both on one server.
- This guide uses Ubuntu 24.04 and runs every command as root (
sudo -i). For Debian or AlmaLinux / Rocky, use the matching dependency commands from the Pterodactyl docs. AlmaLinux / Rocky 10 is not on Pterodactyl’s supported list yet. - Use a fresh server. Nginx takes ports 80 and 443.
- Point a domain such as
panel.example.comat the server with anArecord. See point a domain to your server. - Take a snapshot or backup first if the server already holds data. See schedule and restore backups.
Step 1: Install the panel dependencies
ppa:ondrej/php first, as the Pterodactyl docs show.
Step 2: Create the database
Step 3: Download and configure the panel
1
Download the files
2
Install PHP packages and create the app key
key:generate on a new install only.3
Back up the encryption key
APP_KEY=base64:… line in a password manager. Without it, encrypted panel data can’t be recovered, even from a database backup.4
Run the setup wizards
https://panel.example.com as the URL, redis for cache, session and queue, and the database password from step 2.5
Build the database
6
Create your admin user
yes to administrator. The password needs 8 or more characters, mixed case and at least one number.7
Set file ownership
Step 4: Add the cron job and queue worker
Runcrontab -e and add:
/etc/systemd/system/pteroq.service:
Step 5: Set up Nginx with HTTPS
1
Get a certificate
2
Create the site
Remove the default site with
rm /etc/nginx/sites-enabled/default. Copy the Nginx With SSL configuration from Pterodactyl’s webserver page into /etc/nginx/sites-available/pterodactyl.conf and replace every <domain> with panel.example.com. It points root at /var/www/pterodactyl/public, passes PHP to unix:/run/php/php8.3-fpm.sock and loads the certificate from /etc/letsencrypt/live/panel.example.com/.3
Enable it
https://panel.example.com and log in with the user from step 3.
Step 6: Install Docker and Wings
1
Check virtualisation
kvm or none (bare metal) works. openvz or lxc usually can’t run Wings.2
Install Docker
Follow install Docker, then run
systemctl enable --now docker.3
Download Wings
4
Create a location and node
In the panel’s admin area, create a Location (nodes belong to a location), then open Nodes and click Create New. Use
panel.example.com as the FQDN with SSL, and keep the daemon port 8080 and SFTP port 2022.5
Add the node configuration
Open the node’s Configuration tab, copy the block into
/etc/pterodactyl/config.yml, or click Generate Token and run the command it shows.6
Test Wings
7
Run Wings as a service
Create
/etc/systemd/system/wings.service:8
Add allocations
Find your public IP with
hostname -I | awk '{print $1}'. In the node’s Allocation tab, add that IP and the game ports, for example 25565-25570. Don’t use 127.0.0.1.Which ports to open
How to check it worked
active (running). In the panel, Nodes shows a green heart next to your node. Create a test server under Servers > Create New, and it installs and starts.
Frequently asked questions
How much RAM does a Pterodactyl server need?
Plan for the panel, MariaDB and Redis plus the memory of every game server you run at the same time, because each game server gets its own memory limit. Add swap as a safety net and watch use with htop.Why is my node’s heart red?
The panel can’t reach Wings. Checksystemctl status wings, that port 8080 is open, and that the node FQDN has a valid certificate when the panel uses HTTPS.
How do I update Pterodactyl?
Follow the official update guides for the panel and Wings. Back up the database and.env first.
Can Wings run on a different server from the panel?
Yes. Install only Docker and Wings on the second server, create a node for it in the panel and give it its own FQDN and certificate.Related guides
VPS and dedicated server guides
Every guide in this section.
Install Docker
Wings needs Docker Engine.
Host game servers with LinuxGSM
A lighter, command-line option.
Tune Linux for game servers
Lower latency for players.
Get a free SSL certificate
Certbot and automatic renewal.
Set up a firewall with UFW
Open only the ports you use.
Checked against the official Pterodactyl panel and Wings documentation on 4 November 2026; package names checked and the Nginx configuration syntax-tested on Ubuntu 24.04 LTS. Commands can differ on other distributions or releases.
Need Extra Help?
If you encounter any issues, our support team is ready to assist:- Live Chat: Quick assistance via our website.
- Support Ticket: Open a Ticket
- Discord: Join our Community
- Email: support@freakhosting.com
Last Updated: November 2026