Pterodactyl
Prérequis
-
Un serveur Ubuntu 20.04 ou supérieur
-
Droits
rootou utilisateur avecsudo -
Un domaine (ex: panel.mondomaine.com)
-
Ports 80 et 443 ouverts
1. Création de l'utilisateur Pterodactyl
sudo adduser --disabled-login pterodactyl
2. Installation du Panel
cd /var/www/
sudo git clone https://github.com/pterodactyl/panel.git
cd panel
sudo chown -R $USER:$USER .
3. Installation des dépendances
sudo apt update && sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql \
php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip php8.1-bcmath php8.1-gd \
unzip curl mysql-server nginx redis composer
composer install --no-dev --optimize-autoloader
4. Configuration de l'environnement
cp .env.example .env
php artisan p:environment:setup
php artisan p:environment:database
php artisan p:environment:mail
5. Génération des clés et migrations
php artisan key:generate --force
php artisan migrate --seed --force
6. Permissions
chown -R www-data:www-data /var/www/panel/*
chmod -R 755 /var/www/panel/storage/* /var/www/panel/bootstrap/cache
7. Configuration NGINX
Fichier /etc/nginx/sites-available/pterodactyl.conf :
server {
listen 80;
server_name panel.mondomaine.com;
root /var/www/panel/public;
index index.php;
access_log /var/log/nginx/pterodactyl.access.log;
error_log /var/log/nginx/pterodactyl.error.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Activation :
sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
8. Activation du HTTPS avec Certbot
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d panel.mondomaine.com
Installation de Wings (Daemon)
1. Créer l'utilisateur
sudo useradd -r -m -d /etc/pterodactyl -s /bin/false pterodactyl
2. Installer Wings
curl -Lo /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
chmod +x /usr/local/bin/wings
3. Configuration de Wings
Télécharge le fichier de config via le panel (Nodes > Configuration), puis :
nano /etc/pterodactyl/config.yml
4. Service systemd
nano /etc/systemd/system/wings.service
Contenu :
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
[Service]
User=pterodactyl
WorkingDirectory=/etc/pterodactyl
ExecStart=/usr/local/bin/wings
Restart=on-failure
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
Puis :
sudo systemctl daemon-reexec
sudo systemctl enable --now wings
Création de Serveurs de Jeux
-
Accède au Panel
-
Crée un Node (si ce n’est pas encore fait)
-
Crée un Serveur (Minecraft, Rust, etc.)
-
Attribue un Egg (modèle de jeu)
Maintenance
Mettre à jour le Panel
cd /var/www/panel
php artisan down
git pull origin master
composer install --no-dev --optimize-autoloader
php artisan migrate --seed --force
php artisan queue:restart
php artisan up
Mettre à jour Wings
curl -Lo /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
chmod +x /usr/local/bin/wings
sudo systemctl restart wings
Vérification
-
Panel : https://panel.mondomaine.com
-
Wings :
systemctl status wings -
Création de serveurs fonctionnelle
Auteur : Gabriel Gasser
Projet : Infrastructure Pterodactyl auto-hébergée
Date : Mai 2025