Discord.js-Bot deployen
Schritt-für-Schritt-Anleitung zum Deployment eines Discord.js-(Node.js-)Bots bei Daki Hosting.
Diese Anleitung führt dich durch das Deployment eines Discord.js-Bots bei Daki Hosting — von der Erstellung deines Servers bis zu einem Bot, der online ist und dessen Token sicher gespeichert ist.
Das lernst du hier
- Wie du einen Node.js-Server für deinen Bot erstellst
- Wie du deinen Code hochlädst
- Wie du Install-Befehl, Startup Command und Docker-Image konfigurierst
- Wie du deinen Bot-Token sicher über eine
.env-Datei hinterlegst - Wie du deinen Bot startest und prüfst, ob er funktioniert
Voraussetzungen
- Ein Daki-Konto (Free Tier oder bezahlt) — siehe Konto erstellen
- Ein Discord-Bot mit einem Bot-Token, erstellt im Discord Developer Portal
- Dein Quellcode inklusive einer
package.jsonmitdiscord.jsunddotenvals Abhängigkeiten
Discord-Bots verbinden sich ausgehend mit den Servern von Discord und benötigen keinen eingehenden Port. Deshalb funktionieren Discord-Bots sowohl im Free Tier als auch mit bezahlten Plänen. Beantwortet dein Bot zusätzlich HTTP-Anfragen (z. B. für Slash-Command-Interaktionen oder Webhooks), brauchst du einen bezahlten Plan, denn öffentlich erreichbare Ports gibt es nur in bezahlten Plänen. Siehe Netzwerk & Zuteilungen.
Deployment
Node.js-Server erstellen
- Melde dich im Free-Tier-Dashboard auf free.daki.cc oder im Billing Panel auf billing.daki.cc an.
- Erstelle einen neuen Server und wähle das Node.js-Egg.
- Gib deinem Server einen Namen (z. B.
MyDiscordBot).
Die vollständige Anleitung findest du unter Deinen ersten Server erstellen.
Portal öffnen
Melde dich per SSO im Portal an (über Open Portal auf der Account-Seite im Dashboard oder auf der Service-Seite im Billing Panel) oder direkt auf portal.daki.cc. Siehe Portal-Überblick.
Code deines Bots hochladen
Option A — als ZIP hochladen (am einfachsten):
- Komprimiere deinen Projektordner lokal zu einer
.zip-Datei. - Gehe im Portal zum Tab Files und klicke auf Upload.
- Klicke mit der rechten Maustaste auf die
.zip-Datei und dann auf Extract.
Option B — per SFTP (ohne Größenlimit): Verbinde dich mit deinen SFTP-Zugangsdaten aus dem Tab Settings und lade deinen Ordner direkt hoch. Siehe Dateiverwaltung.
Nimm den Ordner
node_modulesnicht in den Upload auf — er wird vom Install-Befehl automatisch installiert.package.jsonundpackage-lock.jsongehören dagegen unbedingt dazu.- Komprimiere deinen Projektordner lokal zu einer
Tab Startup konfigurieren
Öffne den Tab Startup und konfiguriere alle drei Felder:
1. Docker Image — Wähle die Node.js-Version, die dein Bot benötigt (z. B. Node.js 22 oder Node.js 24). Node.js 24 LTS ist eine sichere Standardwahl, wenn du dir unsicher bist. Vermeide Versionen mit der Markierung EOL, denn sie erhalten keine Sicherheitsupdates mehr.
2. Install Command — Setze diesen Befehl, damit deine Abhängigkeiten automatisch installiert werden:
Shellnpm install3. Startup Command — Setze hier den Befehl, der deinen Bot startet:
node index.js— wenn deine Einstiegsdateiindex.jsheißtnode bot.js— wenn deine Einstiegsdateibot.jsheißtnpm start— wenn du einstart-Skript in deinerpackage.jsonhast
Du kannst diese Befehle frei an die Struktur deines Projekts anpassen.
Siehe Starteinstellungen für eine vollständige Erklärung.
Bot-Token über eine .env-Datei hinterlegen
Dein Bot braucht seinen Discord-Token, um sich zu verbinden. Speichere ihn in einer
.env-Datei auf dem Server, damit er nie in deinem Quellcode landet.- Klicke im Tab Files auf New File und nenne die Datei
.env. - Trage deinen Token ein:
.env
BOT_TOKEN=your_discord_bot_token_here - Klicke auf Save.
Lade ihn in deinem Bot-Code mit
dotenv:JavaScriptrequire('dotenv').config(); const { Client, GatewayIntentBits } = require('discord.js'); const client = new Client({ intents: [GatewayIntentBits.Guilds] }); client.once('ready', () => { console.log(`Logged in as ${client.user.tag}`); }); client.login(process.env.BOT_TOKEN);Stelle sicher, dass
dotenvin den Abhängigkeiten deinerpackage.jsonsteht, damit es vom Install-Befehl installiert wird.Siehe Umgebungsvariablen für mehr Details zur Verwendung von
.env-Dateien.- Klicke im Tab Files auf New File und nenne die Datei
Bot starten
Klicke im Tab Console auf Start. Ein erfolgreicher Start gibt die Login-Bestätigung deines Bots aus:
TextLogged in as MyBot#1234!Erscheinen stattdessen Fehler, sieh in der Anleitung zur Fehlerbehebung nach.
Häufige Probleme
Error: Cannot find module 'discord.js'
Deine Abhängigkeiten wurden nicht installiert. Prüfe, ob deine package.json discord.js als Abhängigkeit auflistet und ob der Install-Befehl im Tab Startup auf npm install gesetzt ist. Starte den Server neu, um die Installation auszulösen.
Error: Cannot find module 'dotenv'
Füge dotenv zu den Abhängigkeiten in deiner package.json hinzu und starte den Server neu, damit es installiert wird.
Error: An invalid token was provided
Dein Bot-Token in der .env-Datei ist falsch oder fehlt. Öffne im Tab Files die Datei .env und prüfe den Wert. Achte auf Leerzeichen, Anführungszeichen oder Zeilenumbrüche.
Der Bot startet, trennt die Verbindung aber kurz darauf
Meist fehlen die Gateway Intents. Aktiviere im Discord Developer Portal die benötigten privilegierten Intents (z. B. Message Content Intent) für deine Bot-Anwendung und stelle sicher, dass dein Code sie anfordert.
Server stürzt sofort nach dem Start ab
Öffne den Tab Console und lies den Fehler. Häufige Ursachen: falscher Startbefehl (Tippfehler im Dateinamen), falsche Node.js-Version oder fehlender node_modules-Ordner. Siehe Fehlerbehebung.
Nächste Schritte
- Umgebungsvariablen — Vollständige Anleitung zu
.env-Dateien und zum Auslesen von Variablen im Code. - Kostenlosen Server aktiv halten — Sieh Werbung an, um deinen Free-Tier-Server am Leben zu halten.
- Dateiverwaltung — Aktualisiere deine Code-Dateien nach Änderungen.