Discord-Bot hosten: rund um die Uhr online
Discord-Bot hosten: warum Gratis-Angebote nicht reichen, Bot auf einem vServer einrichten, Autostart mit pm2 oder systemd und den Token sicher halten.

Inhalt
Wer einen Discord-Bot hosten und rund um die Uhr online halten möchte, fährt am zuverlässigsten mit einem Server, der immer läuft, statt mit dem eigenen PC, und mit einem Prozessmanager, der den Bot nach einem Absturz oder Server-Neustart automatisch wieder startet. Ein kleiner Linux-vServer, der Code Ihres Bots und ein Werkzeug wie pm2 oder systemd genügen.
In dieser Anleitung erklären wir, warum Gratis-Angebote nicht reichen, und zeigen Schritt für Schritt, wie Sie einen Node.js- oder Python-Bot auf einem vServer einrichten, automatisch starten und Ihren Token sicher halten.
Warum der eigene PC oder Gratis-Hosting nicht reichen
Ein Discord-Bot hält dauerhaft eine Verbindung (das Gateway) zu den Servern von Discord offen. Bricht sie ab, erscheint der Bot offline und reagiert nicht mehr auf Befehle.
- Auf dem eigenen Rechner läuft der Bot nur, solange der Rechner an ist. Ein Neustart nach Updates, ein Stromausfall oder eine Verbindungsstörung stoppen auch den Bot.
- Kostenlose Hosting-Dienste begrenzen meist die Ressourcen, schicken Anwendungen nach einer Weile ohne Aktivität schlafen oder deckeln die monatliche Laufzeit. Die empfohlenen „Keep-alive-Pings“ verstoßen oft gegen die Nutzungsbedingungen dieser Dienste.
- Webhosting ist für Websites gebaut, nicht für Anwendungen, die rund um die Uhr eine Verbindung offen halten.
Ein kleiner vServer gibt Ihrem Bot reservierten Arbeitsspeicher, eine feste IP-Adresse und volle Kontrolle. Auf demselben Server können mehrere Bots, eine Datenbank und das Web-Dashboard des Bots laufen. Wie ein vServer funktioniert, lesen Sie in Was ist ein vServer?
Schritt 1: Server vorbereiten
Verbinden Sie sich per SSH mit einem vServer unter Ubuntu oder Debian. Ist SSH neu für Sie, zeigt Was ist SSH? die Verbindung und die Absicherung Schritt für Schritt.
Sicherer ist es, den Bot mit einem eigenen Benutzer statt als root zu betreiben:
adduser bot
su - bot
Schritt 2: Laufzeitumgebung installieren
Für Node.js-Bots (discord.js) installieren Sie eine aktuelle Node.js-LTS-Version. Am einfachsten geht das mit nvm; den Installationsbefehl finden Sie im offiziellen Repository von nvm, danach:
nvm install --lts
node -v
Für Python-Bots (discord.py) ist Python 3 unter Ubuntu und Debian vorinstalliert. Installieren Sie das Paket für virtuelle Umgebungen und legen Sie im Ordner des Bots eine an:
sudo apt install python3-venv
python3 -m venv venv
source venv/bin/activate
Schritt 3: Den Code auf den Server bringen
Liegt Ihr Code in einem Git-Repository, klonen Sie ihn am einfachsten:
git clone https://github.com/sie/mein-bot.git
cd mein-bot
Installieren Sie dann die Abhängigkeiten: npm install für Node.js, pip install -r requirements.txt für Python.
Den Token nicht in den Code schreiben
Der Bot-Token ist das Passwort Ihres Bots. Speichern Sie ihn statt im Code in einer .env-Datei:
DISCORD_TOKEN=ihr-token
Tragen Sie die Datei in die .gitignore ein, damit sie nie versehentlich in einem Git-Repository landet. Tokens in öffentlichen Repositorys werden binnen Minuten gefunden und missbraucht. Machen Sie die Datei außerdem nur für den Bot-Benutzer lesbar:
chmod 600 .env
Starten Sie den Bot einmal von Hand (node index.js oder python bot.py), prüfen Sie, dass er in Discord online erscheint, und beenden Sie ihn mit Strg+C.
Schritt 4: Den Bot rund um die Uhr betreiben
Starten Sie den Bot im Terminal, endet er, sobald Sie die SSH-Sitzung schließen. Für den Dauerbetrieb brauchen Sie einen Prozessmanager.
Option A: pm2 (empfohlen für Node.js-Bots)
pm2 betreibt Node.js-Anwendungen im Hintergrund, startet sie nach Abstürzen neu und speichert ihre Logs:
npm install -g pm2
pm2 start index.js --name mein-bot
pm2 save
pm2 startup
pm2 startup gibt einen Befehl aus, den Sie ausführen müssen, damit pm2 nach einem Neustart automatisch startet; kopieren und ausführen. Die wichtigsten Befehle danach:
pm2 logs mein-bot: zeigt die Logs live.pm2 restart mein-bot: startet den Bot nach einem Code-Update neu.pm2 ls: listet laufende Prozesse und ihren Speicherbedarf.
Option B: systemd (empfohlen für Python-Bots)
Mit systemd, dem eingebauten Dienstmanager von Linux, betreiben Sie den Bot ohne Zusatzsoftware als Dienst. Legen Sie /etc/systemd/system/mein-bot.service an:
[Unit]
Description=Mein Discord-Bot
After=network-online.target
Wants=network-online.target
[Service]
User=bot
WorkingDirectory=/home/bot/mein-bot
EnvironmentFile=/home/bot/mein-bot/.env
ExecStart=/home/bot/mein-bot/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Dienst aktivieren und starten:
sudo systemctl daemon-reload
sudo systemctl enable --now mein-bot
Die Logs verfolgen Sie mit journalctl -u mein-bot -f. Restart=always startet den Bot 5 Sekunden nach einem Absturz neu, enable sorgt für den Autostart nach einem Server-Neustart.
Schritt 5: Den Bot gesund halten
- Code aktualisieren:
git pull, bei Bedarf Abhängigkeiten neu installieren und den Bot neu starten (pm2 restart mein-botodersudo systemctl restart mein-bot). - Bibliotheken aktuell halten. Die Discord-API ändert sich gelegentlich; aktuelle Versionen von discord.js und discord.py ziehen mit.
- Fehler abfangen. Ein nicht abgefangener Fehler kann den ganzen Bot beenden. Fangen und loggen Sie Fehler in Ihren Befehls-Handlern.
- Datenbank sichern. Speichert der Bot Einstellungen und Nutzerdaten in SQLite, PostgreSQL oder MongoDB, sichern Sie diese regelmäßig.
- Mit dem Wachstum an Sharding denken. Discord schreibt Bots auf mehr als 2.500 Servern Sharding vor. discord.js und discord.py bringen dafür fertige Werkzeuge mit.
Discord-Bot bei Nodesty hosten
Ein Discord-Bot braucht keinen großen Server; entscheidend sind Verfügbarkeit und schnelle Antworten. Die AMD Ryzen 9 9950X vServer von Nodesty bieten hohe Single-Core-Leistung, NVMe-Speicher und DDoS-Schutz in Frankfurt und New York; die AMD EPYC 7763 vServer liefern in Frankfurt mehr RAM fürs Geld. Ubuntu und Debian stehen bei der Installation zur Wahl, und Ihr Server wird nach Zahlungseingang automatisch eingerichtet.
Häufig gestellte Fragen
Wie viel RAM braucht ein Discord-Bot?
Ein einfacher Moderations- oder Befehls-Bot auf wenigen Servern kommt meist mit einigen hundert MB aus. Musik-Bots, Bots mit großem Cache und Bots auf Tausenden Servern brauchen mehr. Laufen mehrere Bots und eine Datenbank auf demselben vServer, sind 2–4 GB ein bequemer Start.
Kann ich meinen Bot rund um die Uhr auf dem eigenen PC laufen lassen?
Technisch ja, aber der Bot geht offline, sobald der Rechner herunterfährt, neu startet oder die Verbindung verliert. Ein dauerhaft laufender Rechner kann außerdem ungefähr so viel Strom kosten wie ein kleiner vServer.
Mein Bot-Token ist durchgesickert. Was tun?
Setzen Sie den Token sofort im Discord Developer Portal im Tab Bot Ihres Bots zurück (Reset Token). Der alte Token ist damit sofort ungültig. Tragen Sie den neuen Token in die .env-Datei auf dem Server ein, starten Sie den Bot neu und finden Sie heraus, wie der Token nach außen gelangt ist.
pm2 oder systemd?
Für Node.js-Bots ist pm2 praktisch, mit Start per Befehl, Log-Ansicht und automatischem Neustart. Für Python-Bots oder wenn Sie keine Zusatzwerkzeuge installieren möchten, reicht systemd, der Dienstmanager von Linux. Beide starten den Bot nach einem Server-Neustart automatisch.
Warum kann mein Bot keine Nachrichten lesen?
Discord behandelt den Zugriff auf Nachrichteninhalte als privilegierten Intent (Message Content Intent). Aktivieren Sie ihn im Developer Portal im Tab Bot und schalten Sie den passenden Intent auch im Code ein. Bots auf mehr als 100 Servern brauchen dafür eine Freigabe von Discord.
Läuft ein Discord-Bot auf Webhosting?
Die Node.js- und Python-Unterstützung im Webhosting ist für Webanwendungen gedacht, die Anfragen beantworten. Ein Discord-Bot hält dagegen dauerhaft eine Verbindung zu Discord offen; für unterbrechungsfreien Betrieb ist ein vServer daher besser geeignet.
Über den Autor
Nodesty-Team · Infrastruktur und Support
Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.
Verwandte Artikel

Ubuntu Upgrade: Server auf die neue LTS-Version bringen
Ubuntu Server auf die neue LTS-Version upgraden: Backup, Vorbereitung, do-release-upgrade, SSH-Verbindung, Kontrollen danach und Neuinstallation erklärt.

Was ist ein Load Balancer? So funktioniert Lastverteilung
Was ist ein Load Balancer und wofür? Methoden der Lastverteilung, Health Checks, Sessions, Load Balancing mit Nginx, HAProxy und wann Sie einen brauchen.

Laravel deployen: Anwendung auf dem vServer veröffentlichen
Laravel deployen auf dem Server: PHP-FPM, Composer, .env, Datenbank, Dateirechte, Nginx, Queue Worker, Scheduler, SSL und Updates Schritt für Schritt.