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
Select a supported operating system, such as Ubuntu 22.04 LTS or Debian 12, update all system packages, and make sure a non-root user is available.
- 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 depends on PHP, a web server, a database, and other required 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
Set up a separate database and user account 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
Log in as the new user and download the latest version of the 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, then update it to match your database and domain settings.
cp .env.example .env nano .env
Update DB_DATABASE, DB_USERNAME, DB_PASSWORD, and APP_URL values.
Step 6 — Run Migrations and Seeds
Run the database migrations and populate the default data.
php artisan key:generate --force php artisan migrate --seed --force
Step 7 — Set Up Web Server
Set up Nginx to host the panel and activate SSL with 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 directly manages the game servers. Install Docker, then 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
Open the panel in a browser, set up an administrator account, and confirm that the Wings daemon is communicating properly. Then deploy a test server to verify that the entire configuration functions as expected.
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
Following these steps carefully allows you to install the Pterodactyl Panel and Wings daemon successfully, establishing a stable and secure environment for efficiently managing multiple game servers. Thorough preparation, careful attention to detail, and compliance with best practices help ensure reliable, high-performance operation over the long term.