Ce dépôt contient des images Docker custom pour Pterodactyl (compatibles AMD64 & ARM64), gérées de manière entièrement modulaire. Elles sont optimisées pour être prêtes à l'emploi et évitent l'exécution de scripts d'installation lourds à chaque démarrage ou installation de serveur.
Le workflow GitHub Actions détecte dynamiquement les images à construire. Chaque dossier sous images/ contenant un fichier manifest.json sera détecté et compilé selon les versions spécifiées.
├── .github/
│ ├── scripts/
│ │ └── generate-matrix.sh # Générateur dynamique de matrice pour GitHub Actions
│ └── workflows/
│ └── build.yml # CI/CD dynamique qui lit les dossiers et manifests
└── images/
├── node/
│ ├── manifest.json # Configuration (versions, plateformes, tag latest)
│ ├── Dockerfile # Dockerfile générique utilisant ARG VERSION
│ └── entrypoint.sh # Script de démarrage Pterodactyl
└── bun/
├── manifest.json
├── Dockerfile
└── entrypoint.sh
- Créez un nouveau dossier sous
images/(ex:images/python). - Créez un fichier
manifest.jsonà l'intérieur :{ "versions": ["3.10", "3.11", "3.12"], "platforms": ["linux/amd64", "linux/arm64"], "latest_version": "3.12" } - Créez votre
Dockerfileen utilisantARG VERSIONpour la version de l'image de base :ARG VERSION=3.12 FROM --platform=$TARGETPLATFORM python:${VERSION}-slim # Vos installations d'outils...
- Ajoutez votre script
entrypoint.sh. - Poussez sur la branche
main! GitHub Actions s'occupe de tout compiler et publier sur GHCR.
Dans le panel Pterodactyl, modifiez le champ Docker Images de votre Egg pour pointer vers votre registre de paquets :
- Node 22 (LTS/latest) :
ghcr.io/votre-username-github/ptero-image/node:22oughcr.io/votre-username-github/ptero-image/node:latest - Bun :
ghcr.io/votre-username-github/ptero-image/bun:latest - Node 20 :
ghcr.io/votre-username-github/ptero-image/node:20