Bots et applications Node.js et Python
Votre panel n'héberge pas que des jeux : il est livré avec deux eggs génériques pour faire tourner un bot Discord, une API, un petit site ou n'importe quel script.
Les eggs fournis
Ils sont dans le nest Generic, déjà installé sur votre panel :
| Egg | Versions (Docker Image) | Programme lancé |
|---|---|---|
| Node.js generic | Node.js 22 à 26 | Variable MAIN_FILE (index.js par défaut ; un fichier .ts est lancé avec tsx) |
| Python generic | Python 3.7 à 3.14 | Variable PY_FILE (app.py par défaut) |
Ces eggs viennent du dépôt communautaire pelican-eggs (licence MIT), adaptés par Nebus pour Pterodactyl.
Créer le serveur
- Administration → Servers → Create New : un nom, le propriétaire et un port (Default Allocation), même si votre bot n'en utilise pas.
- Ressources : un bot simple tient dans 256 à 512 MiB de mémoire et 50 % de processeur ; un site ou une API dans 512 MiB à 1 Go.
- Nest Configuration : Generic, puis Node.js generic ou Python generic. Choisissez la version dans Docker Image.
- Service Variables : le fichier à lancer, et éventuellement le dépôt Git (voir ci-dessous). Si vous allez envoyer vos fichiers vous-même, mettez User Uploaded Files à
1. - Create Server. L'installation prend moins d'une minute.

Mettre votre code
- Depuis votre ordinateur : onglet Files (bouton Upload) ou en SFTP (voir Fichiers et SFTP). Placez le fichier de démarrage à la racine.
- Depuis Git : renseignez Git Repo Address (et Install Branch si besoin) ; pour un dépôt privé, Git Username et un jeton dans Git Access Token. Le dépôt est cloné à l'installation ; avec Auto Update à
1, il est mis à jour (git pull) à chaque démarrage.
Ces réglages se modifient ensuite dans l'onglet Startup du serveur. Pour cloner un autre dépôt, changez l'adresse puis Settings → Reinstall Server (le dossier doit être vide).

Les dépendances
- Node.js : si un
package.jsonest présent,npm installs'exécute à chaque démarrage. La variable Additional Node packages ajoute des paquets (séparés par des espaces), Uninstall Node packages en retire. - Python : si le fichier
requirements.txt(variableREQUIREMENTS_FILE) est présent, il est installé avec pip à chaque démarrage. La variable Additional Python packages ajoute des paquets.
Les paquets sont installés dans le dossier du serveur et comptent dans son espace disque.
Démarrer et suivre

Cliquez sur Start dans la console. Le serveur passe en Running (vert) dès que votre programme affiche sa première ligne ; s'il n'affiche jamais rien, il reste en Starting (jaune), sans autre conséquence. Stop envoie Ctrl+C à votre programme.
Pour redémarrer automatiquement chaque nuit, utilisez une tâche planifiée.
Une application web
Votre application doit écouter sur le port du serveur, donné par la variable d'environnement SERVER_PORT, et sur toutes les adresses (0.0.0.0) :
const http = require('node:http');
const port = process.env.SERVER_PORT;
http.createServer((req, res) => res.end('Bonjour !')).listen(port, '0.0.0.0');
Elle est alors joignable en HTTP à l'adresse et au port affichés dans la console (par exemple http://gra1.nebus.fr:30000 ; l'adresse de votre panel est sur la ligne Adresse des serveurs de l'espace client), ou sur votre IP dédiée. Le HTTPS n'est pas fourni sur ces ports.
Jetons et mots de passe
Ne mettez pas le jeton de votre bot dans un dépôt Git public. Placez-le dans un fichier (par exemple .env, lu par votre programme) envoyé par l'onglet Files, ou dans une base de données du serveur (voir Bases de données).