nebusdocs
InhaltBots und Anwendungen mit Node.js und Python

Bots und Anwendungen mit Node.js und Python

Ihr Panel hostet nicht nur Spiele: Es wird mit zwei generischen Eggs geliefert, um einen Discord-Bot, eine API, eine kleine Website oder ein beliebiges Skript zu betreiben.

Die bereitgestellten Eggs

Sie befinden sich im Nest Generic, der in Ihrem Panel bereits installiert ist:

EggVersionen (Docker Image)Gestartetes Programm
Node.js genericNode.js 22 bis 26Variable MAIN_FILE (standardmäßig index.js; eine .ts-Datei wird mit tsx gestartet)
Python genericPython 3.7 bis 3.14Variable PY_FILE (standardmäßig app.py)

Diese Eggs stammen aus dem Community-Repository pelican-eggs (MIT-Lizenz) und wurden von Nebus für Pterodactyl angepasst.

Den Server erstellen

  1. Administration → Servers → Create New: ein Name, der Eigentümer und ein Port (Default Allocation), auch wenn Ihr Bot keinen verwendet.
  2. Ressourcen: Ein einfacher Bot kommt mit 256 bis 512 MiB Arbeitsspeicher und 50 % CPU aus, eine Website oder API mit 512 MiB bis 1 GB.
  3. Nest Configuration: Generic, dann Node.js generic oder Python generic. Wählen Sie die Version unter Docker Image.
  4. Service Variables: die zu startende Datei und gegebenenfalls das Git-Repository (siehe unten). Wenn Sie Ihre Dateien selbst hochladen, setzen Sie User Uploaded Files auf 1.
  5. Create Server. Die Installation dauert weniger als eine Minute.
Erstellungsformular: Nest Generic, Egg Node.js generic, Docker-Image und Variablen
Der untere Teil des Erstellungsformulars mit dem Egg Node.js generic.

Ihren Code hinzufügen

  • Von Ihrem Computer: Reiter Files (Schaltfläche Upload) oder per SFTP (siehe Dateien und SFTP). Legen Sie die Startdatei ins Hauptverzeichnis.
  • Aus Git: Füllen Sie Git Repo Address aus (und bei Bedarf Install Branch); für ein privates Repository Git Username und ein Token unter Git Access Token. Das Repository wird bei der Installation geklont; mit Auto Update auf 1 wird es bei jedem Start aktualisiert (git pull).

Diese Einstellungen lassen sich später im Reiter Startup des Servers ändern. Um ein anderes Repository zu klonen, ändern Sie die Adresse und dann Settings → Reinstall Server (der Ordner muss leer sein).

Reiter Startup eines Node.js-Servers: Docker-Image und Variablen des Eggs
Der Reiter Startup: Node.js-Version und Einstellungen des Eggs.

Abhängigkeiten

  • Node.js: Ist eine package.json vorhanden, läuft npm install bei jedem Start. Die Variable Additional Node packages fügt Pakete hinzu (durch Leerzeichen getrennt), Uninstall Node packages entfernt welche.
  • Python: Ist die Datei requirements.txt (Variable REQUIREMENTS_FILE) vorhanden, wird sie bei jedem Start mit pip installiert. Die Variable Additional Python packages fügt Pakete hinzu.

Die Pakete werden im Ordner des Servers installiert und zählen zu seinem Speicherplatz.

Starten und überwachen

Konsole eines Python-Bots: Python-Version, Installation der Abhängigkeiten, dann die Meldung Bot démarré
Ein Python-Bot beim Start: Die Konsole zeigt alles, was Ihr Programm ausgibt.

Klicken Sie in der Konsole auf Start. Der Server wechselt zu Running (grün), sobald Ihr Programm seine erste Zeile ausgibt; gibt es nie etwas aus, bleibt er auf Starting (gelb), ohne weitere Folgen. Stop sendet Strg+C an Ihr Programm.

Für einen automatischen Neustart jede Nacht nutzen Sie eine geplante Aufgabe.

Eine Webanwendung

Ihre Anwendung muss auf dem Port des Servers lauschen, den die Umgebungsvariable SERVER_PORT angibt, und auf allen Adressen (0.0.0.0):

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

Sie ist dann per HTTP unter der Adresse und dem Port erreichbar, die in der Konsole angezeigt werden (zum Beispiel http://gra1.nebus.app:30000; die Adresse Ihres Panels steht in der Zeile Serveradresse des Kundenbereichs), oder unter Ihrer dedizierten IP. HTTPS wird auf diesen Ports nicht bereitgestellt.

Tokens und Passwörter

Legen Sie das Token Ihres Bots nicht in ein öffentliches Git-Repository. Speichern Sie es in einer Datei (zum Beispiel .env, von Ihrem Programm gelesen), die Sie über den Reiter Files hochladen, oder in einer Datenbank des Servers (siehe Datenbanken).

Keine Antwort gefunden? Eröffnen Sie ein Ticket im Kundenbereich, oder schreiben Sie uns: contact@nebus.app