Installation automatisée de Pterodactyl
DOG&DEV · 25/01/2025
Installation automatisée de Pterodactyl
Pterodactyl est un panel de gestion de serveurs de jeu (Minecraft, FiveM, etc.) avec Wings (node qui exécute les conteneurs Docker). Ce guide décrit l’installation du panel (PHP, MySQL, file d’attente, cron) et de Wings, via le script officiel ou une procédure manuelle, ainsi que Nginx et SSL. Pour Docker : install-docker-linux. Pour les mods Minecraft : mods-minecraft. Pour FiveM : fivem-windows-vps.
Prérequis
- Ubuntu 20.04/22.04 ou Debian 11/12 — 64 bits
- RAM : 2–4 Go pour le panel ; plus pour les nœuds (Wings) qui hébergent les serveurs
- MySQL 8 (ou MariaDB 10.3+), PHP 8.1+ (extensions : cli, fpm, mysql, xml, curl, gd, zip, mbstring)
- Docker sur la machine Wings (install-docker-linux)
- Nginx (ou Apache) et SSL (Let’s Encrypt)
- Accès root ou sudo
1. Script d’installation du panel (officiel)
-
Documentation et script : pterodactyl.io et github.com/pterodactyl/panel.
-
Exemple d’utilisation du script d’installation (à exécuter depuis la doc officielle à jour) :
curl -sSL https://get.pterodactyl.io | sudo bash
-
Le script installe : Nginx, PHP, Composer, MySQL (ou vous invite à configurer un MySQL existant), et déploie le panel (fichiers,
.env, key:generate, migrate, admin user). -
Il peut aussi configurer SSL (Let’s Encrypt) et la file d’attente (Redis ou database) + cron pour
schedule:runet la queue. -
À faire manuellement si le script ne le couvre pas :
- File d’attente :
QUEUE_CONNECTION=databaseouredisdans.env; cron :
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
et
* * * * * php /var/www/pterodactyl/artisan queue:work --stop-when-empty >> /dev/null 2>&1
(ou un worker queue:work persistant selon la doc). - Permissions :
storage/,bootstrap/cache/en écriture pour le user web.
- File d’attente :
2. Installation manuelle (résumé)
- Cloner le panel, composer install, cp .env.example .env, php artisan key:generate, php artisan migrate --seed, php artisan p:user:make (admin).
- Nginx :
rootverspublic/;try_filesetfastcgi_passvers PHP-FPM. - SSL : Let’s Encrypt (certbot).
- Wings : voir § 3.
3. Wings (node)
- Wings s’installe sur la (les) machine(s) qui exécutent les conteneurs (serveurs de jeu).
- Docker doit être installé sur ce nœud (install-docker-linux).
- Télécharger Wings depuis github.com/pterodactyl/wings (binaire Linux) ou via le script fourni par Pterodactyl.
- Configuration : fichier config.yml (ou équivalent) avec l’URL du panel, la clé du nœud, le FQDN du nœud. La clé et le FQDN se créent dans le panel : Administration → Nodes → Create → récupérer la configuration pour Wings.
- systemd : unité wings.service pour démarrer Wings au boot.
- Pare-feu : ports 8080 (Wings ↔ panel) et 1025-65535 (jeux) selon la config des allocations dans le panel.
4. SSL, Nginx, cron
- SSL : certbot pour Let’s Encrypt sur le vhost du panel.
- Nginx : bloc server pour le panel (root =
public/, PHP) ; bloc ou proxy pour Wings si le panel et Wings sont sur la même machine (souvent Wings sur une autre IP/port). - Cron :
schedule:run(tâches planifiées Laravel).- queue:work ou queue:listen pour les jobs (création de serveurs, etc.) — à lancer en supervisor ou en cron selon la doc.
5. Oeufs (Eggs) et serveurs
- Les oeufs (Minecraft, FiveM, etc.) définissent l’image Docker et la commande de démarrage. Les importer depuis le repo d’oeufs ou les créer.
- Créer un serveur dans le panel : Node, oeuf, allocations (IP:port). Les joueurs se connectent à l’IP du nœud et au port alloué.
Dépannage
| Symptôme | Cause possible | Correctif |
|---|---|---|
| 500 sur le panel | Permissions storage/bootstrap/cache, .env, BDD | chmod/chown ; vérifier APP_KEY, DB_* ; php artisan migrate |
| Wings ne se connecte pas au panel | Mauvais URL, clé, FQDN, 8080 fermé | Vérifier config Wings ; pare-feu 8080 ; panel « Nodes » |
| Serveur de jeu ne démarre pas | Oeuf, image Docker, allocation, Docker sur le nœud | Vérifier les logs Wings ; docker ps sur le nœud ; oeuf et allocation |
Bonnes pratiques
- Sauvegarder : BDD du panel,
.env,storage/, et les volumes des serveurs sur les nœuds. - Mises à jour : panel (composer, migrations) et Wings selon les releases.
- Pour Docker : install-docker-linux. Pour Minecraft (mods, etc.) : mods-minecraft. Pour FiveM : fivem-windows-vps.
Ressources
Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.