nebusdocs
ÍndiceBots y aplicaciones Node.js y Python

Bots y aplicaciones Node.js y Python

Su panel no solo aloja juegos: incluye dos eggs genéricos para ejecutar un bot de Discord, una API, un sitio pequeño o cualquier script.

Los eggs incluidos

Están en el nest Generic, ya instalado en su panel:

EggVersiones (Docker Image)Programa ejecutado
Node.js genericNode.js 22 a 26Variable MAIN_FILE (index.js por defecto; un archivo .ts se ejecuta con tsx)
Python genericPython 3.7 a 3.14Variable PY_FILE (app.py por defecto)

Estos eggs proceden del repositorio comunitario pelican-eggs (licencia MIT), adaptados por Nebus para Pterodactyl.

Crear el servidor

  1. Administración → Servers → Create New: un nombre, el propietario y un puerto (Default Allocation), aunque su bot no lo use.
  2. Recursos: un bot sencillo cabe en 256 a 512 MiB de memoria y un 50 % de CPU; un sitio o una API, en 512 MiB a 1 GB.
  3. Nest Configuration: Generic y después Node.js generic o Python generic. Elija la versión en Docker Image.
  4. Service Variables: el archivo que se ejecuta y, si procede, el repositorio Git (vea más abajo). Si va a subir sus archivos usted mismo, ponga User Uploaded Files a 1.
  5. Create Server. La instalación tarda menos de un minuto.
Formulario de creación: nest Generic, egg Node.js generic, imagen Docker y variables
La parte inferior del formulario de creación con el egg Node.js generic.

Añadir su código

  • Desde su ordenador: pestaña Files (botón Upload) o por SFTP (vea Archivos y SFTP). Coloque el archivo de arranque en la raíz.
  • Desde Git: rellene Git Repo Address (e Install Branch si hace falta); para un repositorio privado, Git Username y un token en Git Access Token. El repositorio se clona en la instalación; con Auto Update a 1, se actualiza (git pull) en cada arranque.

Estos ajustes se pueden cambiar después en la pestaña Startup del servidor. Para clonar otro repositorio, cambie la dirección y después Settings → Reinstall Server (la carpeta debe estar vacía).

Pestaña Startup de un servidor Node.js: imagen Docker y variables del egg
La pestaña Startup: versión de Node.js y ajustes del egg.

Las dependencias

  • Node.js: si hay un package.json, npm install se ejecuta en cada arranque. La variable Additional Node packages añade paquetes (separados por espacios) y Uninstall Node packages los quita.
  • Python: si existe el archivo requirements.txt (variable REQUIREMENTS_FILE), se instala con pip en cada arranque. La variable Additional Python packages añade paquetes.

Los paquetes se instalan en la carpeta del servidor y cuentan en su espacio en disco.

Arrancar y supervisar

Consola de un bot Python: versión de Python, instalación de dependencias y luego el mensaje Bot démarré
Un bot Python arrancando: la consola muestra todo lo que escribe su programa.

Haga clic en Start en la consola. El servidor pasa a Running (verde) en cuanto su programa muestra su primera línea; si nunca muestra nada, se queda en Starting (amarillo), sin más consecuencias. Stop envía Ctrl+C a su programa.

Para reiniciar automáticamente cada noche, use una tarea programada.

Una aplicación web

Su aplicación debe escuchar en el puerto del servidor, indicado por la variable de entorno SERVER_PORT, y en todas las direcciones (0.0.0.0):

const http = require('node:http');
const port = process.env.SERVER_PORT;
http.createServer((req, res) => res.end('¡Hola!')).listen(port, '0.0.0.0');

Será accesible por HTTP en la dirección y el puerto que muestra la consola (por ejemplo http://gra1.nebus.fr:30000; la dirección de su panel figura en la línea Dirección de los servidores del área de cliente), o en su IP dedicada. HTTPS no se ofrece en estos puertos.

Tokens y contraseñas

No ponga el token de su bot en un repositorio Git público. Guárdelo en un archivo (por ejemplo .env, leído por su programa) subido por la pestaña Files, o en una base de datos del servidor (vea Bases de datos).

¿No encuentra la respuesta aquí? Abra un ticket desde el área de cliente, o escríbanos: contact@nebus.fr