What is Pterodactyl?
Pterodactyl is the industry-leading open-source game server management panel built on PHP, React, and Go. It runs all game servers inside secure, isolated Docker containers while providing a modern web GUI, live console, SFTP file management, and API controls.
Deploy a high-performance Ubuntu VPS before proceeding with this installation.
System Prerequisites
- Ubuntu 22.04 or 24.04 LTS (x86_64)
- At least 2GB RAM (4GB+ recommended for running Wings nodes)
- A fully qualified domain name (FQDN) pointed to your server IP (e.g.,
panel.yourdomain.com)
Step 1: Install Dependencies (PHP 8.3, MariaDB, Redis, Nginx)
# Add PHP repository
sudo apt update
sudo apt install -y software-properties-common curl apt-transport-https ca-certificates gnupg
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
# Install Core Stack
sudo apt install -y php8.3 php8.3-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip} mariadb-server nginx redis-server tar unzip git certbot python3-certbot-nginx
Step 2: Configure MariaDB Database
sudo mysql -u root -p
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'StrongPasswordHere!';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Step 3: Download and Set Up Pterodactyl Panel
# Create web root directory
sudo mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
# Download latest panel release
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
# Install Composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
# Configure Environment
cp .env.example .env
composer install --no-dev --optimize-autoloader
php artisan key:generate --force
php artisan p:environment:setup
php artisan p:environment:database
php artisan migrate --seed --force
php artisan p:user:make
Step 4: Configure Queue Worker and Permissions
# Set web server permissions
sudo chown -R www-data:www-data /var/www/pterodactyl/*
# Create systemd worker
sudo tee /etc/systemd/system/pteroq.service > /dev/null <<EOF
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now pteroq.service
Step 5: Install and Configure Wings Daemon
To run game servers, install Docker and the Wings daemon binary on your node:
# Install Docker
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
sudo systemctl enable --now docker
# Download Wings
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
sudo chmod u+x /usr/local/bin/wings
Navigate to your Pterodactyl Panel administrative interface, create a new Node, copy the auto-generated YAML configuration into /etc/pterodactyl/config.yml, and start Wings with sudo systemctl enable --now wings.