Eigener Discord-Bot auf einem VPS hosten
Dieser Leitfaden bietet einen Schritt-für-Schritt-Prozess, um den CrossBan Discord-Bot selbst auf einem Virtual Private Server (VPS). CrossBan ist ein Bot zum Synchronisieren von Banns über mehrere Discord-Server hinweg, gebaut mit TypeScript, Discord.js und PostgreSQL. Er ist mit Docker containerisiert für einfache Bereitstellung.
Dieser Bot ist unter der PolyForm Noncommercial License 1.0.0 lizenziert. Du darfst ihn nicht für kommerzielle Zwecke oder zur Gewinnerzielung verwenden. Self-Hosting ist nur für persönliche oder gemeinnützige Nutzung erlaubt.
Voraussetzungen
Minimale VPS-Anforderungen
Betriebssystem: Ubuntu 22.04 LTS oder eine ähnliche Linux-Distribution (empfohlen für Docker-Kompatibilität).
Arbeitsspeicher: Mindestens 2GB, weil Docker dafür bekannt ist, RAM zum Frühstück zu verzehren.
Speicher: 10GB+ freier Speicherplatz (für Docker-Images, Datenbank und Logs). 20GB+ ist besser.
CPU: 2 Kerne (ausreichend für moderaten Gebrauch).
Ein Server kostet Geld - du solltest keine kostenlosen Hosting-Lösungen verwenden, weil du dort keine persönliche IP-Adresse bekommst, was zu Problemen mit deinem Bot führen kann.
Normalerweise kosten Server mit diesen Anforderungen etwa 3–5€ / Monat, abhängig vom Hosting-Anbieter.
Ein Server kostet nicht viel und ich würde Venocix empfehlen - eine sehr zuverlässige Hosting-Lösung aus Deutschland.
Software-Anforderungen
Server-Anforderungen
Docker: Version 27+ (verwende die neueste Version, damit du sie längere Zeit nicht aktualisieren musst)
Docker Compose: Version 2.39 (gleiches Denken wie oben)
Git: Zum Klonen des Repositories.
SSH-Zugang: Zu deinem VPS für Fernverwaltung.
Lokale Anforderungen
Ein SSH-Client wie Termius um sicher eine Verbindung zu deinem VPS herzustellen und eine benutzerfreundliche Oberfläche zu haben.
Weitere Anforderungen
Ein Discord-Bot-Token (erstelle eines im Discord Developer Portal). Mehr dazu später.
Bot einrichten
Schritt 1: Bereite deinen VPS vor
Verbinde dich mit deinem VPS mit deinem SSH-Client.
System aktualisieren:
Denk daran, dass du aus Sicherheitsgründen das eingegebene Passwort nicht siehst.
Docker und Docker Compose installieren: Bitte beziehe dich auf die offiziellen Docker-Dokus für die korrekte Installationsmethode für dein Betriebssystem.
Git installieren:
Installationen überprüfen:
Schritt 2: Repository klonen und einrichten
Repository klonen:
Umgebungsdatei erstellen:
Kopiere die Beispiel-Umgebungsdatei:
Bearbeite
.envmit deinen Daten:Fülle die Platzhalter aus.
Schritt 3: Lade den Bot auf deine Server ein
Gehe zum Discord Developer Portal.
Deaktiviere den allgemeinen Installationslink und erlaube nur Guild-Installation.

Gehe zur Bot-Seite und deaktiviere Public bot und regeneriere das Token deines Bots.

Deaktiviere Public bot, weil sonst jeder deinen Bot einladen kann - das willst du nicht. Unter deiner Bot-Anwendung gehe zu OAuth2 > OAuth2 URL-Generator.
Wähle Scopes:
bot,applications.commands.Wähle Berechtigungen: Mitglieder bannen, Audit-Log ansehen, Nachrichten senden, Slash-Befehle verwenden.
Benutze die generierte URL, um den Bot in deine Server einzuladen.
Schritt 4: Bot konfigurieren und starten
Bot bauen und starten:
Verwende die Docker Compose Datei:
Dies baut die Docker-Images, startet den Bot und die PostgreSQL-Datenbank und führt sie im Detached-Modus aus (damit sie im Hintergrund laufen, selbst wenn du die Verbindung zum Server trennst).
Setup überprüfen:
Container-Status prüfen:
Logs ansehen:
Der Bot sollte in deinen Discord-Servern online erscheinen. Führe
/configin Discord aus, um Einstellungen zu konfigurieren.
Erstkonfiguration in Discord:
Benutze Slash-Befehle wie
/config sources-of-truthum vertrauenswürdige Nutzer festzulegen.Konfiguriere Bannsynchronisationseinstellungen pro Server.
Schritt 4: Überwachung und Wartung
Logs
Echtzeit-Logs ansehen:
Updates
Ziehe den neuesten Code:
Neustarten:
Hinweis für Entwickler
Ja, es wäre besser, das Image auch neu zu bauen, aber solange sich daran nichts ändert, funktioniert es auch nur durch Neustarten des Bots. Weitere Dokumentation wird hinzugefügt, wenn das nötig wird.
Backups
Sichere das Datenbank-Volume:
Denk daran, die Werte einzusetzen, die du in deiner
.envDatei!Speichere
backup.sqlsicher (z. B. außerhalb des VPS).
Bot stoppen
Neustarten
Fehlerbehebung
Häufige Probleme
Bot startet nicht: Prüfe
.envauf Fehler. Stelle sicher, dassBOT_TOKENgültig ist und die Berechtigungen korrekt sind.Datenbankverbindung fehlgeschlagen: Überprüfe
DATABASE_URLund dass PostgreSQL läuft (docker compose ps).Berechtigungsfehler: Stelle sicher, dass der Bot
Mitglieder bannenundAudit-Log ansehenin allen Servern hat.Container stürzt ab: Verwende
docker compose logszur Diagnose. Häufige Ursachen: ungültige Umgebungsvariablen oder Port-Konflikte. Wenn ein Container in einer Neustart-Schleife steckt (Container starten neu, wenn sie fehlschlagen), stoppe die Container mitpnpm run docker:downund öffne ein GitHub-Issue, damit wir das gemeinsam lösen können.
Datenbank-Probleme
Wenn PostgreSQL nicht startet, lösche das Volume und starte neu:
Dies löscht alle Daten; verwende es nur, wenn nötig.
Leistung
Für stark frequentierte Server erhöhe die VPS-Ressourcen.
Sicherheitsüberlegungen
Umgebungsvariablen: Niemals
.envzu Git committen (Das ist standardmäßig durch die.gitignoreDatei gewährleistet).Updates: Halte Docker und das System aktuell, um Sicherheitslücken zu schließen.
Zugriff: Beschränke SSH-Zugänge mit schlüsselbasierter Authentifikation. (Für fortgeschrittene Nutzer)
Weitere Ressourcen
Das Repository: CrossBan auf GitHub
Wenn du auf Probleme stößt, prüfe die Issues des Repositories oder Logs für weitere Details. Viel Erfolg beim Hosten!
Zuletzt aktualisiert
War das hilfreich?