Complete Guide to Installing Pterodactyl Panel
Published on September 21, 2025 · 12 min read
Pterodactyl Panel is a robust, open-source game server management platform that allows administrators to deploy and control multiple game servers efficiently. This guide provides a complete, step-by-step tutorial for installing both the Pterodactyl Panel and the Wings daemon.
Step 1 — Prepare Your Server
Choose a supported operating system such as Ubuntu 22.04 LTS or Debian 12. Update all system packages and ensure you have a non-root user with sudo privileges for installation.
- Run
sudo apt update && sudo apt upgrade -y - Create a new user:
adduser pteroand assign sudo privileges. - Install essential packages:
sudo apt install curl wget git tar unzip -y
Step 2 — Install Dependencies
Pterodactyl requires PHP, a web server, a database, and additional software:
- PHP 8.1 with extensions: BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML
- MySQL or MariaDB database server
- Nginx web server
- Node.js and Composer for panel dependencies
- Redis (optional but recommended for queues)
Step 3 — Configure Database
Create a dedicated database and user for Pterodactyl:
mysql -u root -p CREATE DATABASE pterodactyl; CREATE USER 'ptero'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON pterodactyl.* TO 'ptero'@'localhost'; FLUSH PRIVILEGES; EXIT;
Ensure to replace strong_password with a secure password.
Step 4 — Download and Install Panel
Switch to your new user and download the latest Pterodactyl Panel:
cd /var/www/ git clone https://github.com/pterodactyl/panel.git pterodactyl cd pterodactyl composer install --no-dev --optimize-autoloader
Set proper permissions:
chown -R www-data:www-data /var/www/pterodactyl chmod -R 755 /var/www/pterodactyl
Step 5 — Configure Environment
Copy the example environment file and edit it according to your database and domain:
cp .env.example .env nano .env
Update DB_DATABASE, DB_USERNAME, DB_PASSWORD, and APP_URL values.
Step 6 — Run Migrations and Seeds
Apply database migrations and seed default data:
php artisan key:generate --force php artisan migrate --seed --force
Step 7 — Set Up Web Server
Configure Nginx to serve the panel and enable SSL using Let's Encrypt:
- Create a server block pointing to
/var/www/pterodactyl/public - Enable the site and reload Nginx:
sudo ln -s /etc/nginx/sites-available/pterodactyl /etc/nginx/sites-enabled/andsudo systemctl reload nginx - Use Certbot to generate SSL certificate:
sudo certbot --nginx -d yourdomain.com
Step 8 — Install Wings Daemon
Wings manages the game servers themselves. Install Docker and configure Wings:
- Install Docker and Docker Compose
- Create Wings configuration using the panel-generated API key
- Start Wings service and ensure it runs on boot
Step 9 — Finalize and Test
Access your panel through the browser, create an admin account, and verify that the Wings daemon communicates correctly. Deploy a test server to ensure the complete setup works.
Step 10 — Security and Maintenance
- Regularly update the panel and Wings daemon
- Secure your database and panel with strong passwords
- Enable firewalls and monitoring for unusual activity
- Schedule backups for both the panel and game server data
Conclusion
By carefully following these steps, you can successfully install Pterodactyl Panel and Wings daemon, creating a stable and secure environment to manage multiple game servers efficiently. Proper preparation, attention to detail, and adherence to best practices ensure long-term reliability and performance.