Un bot Discord doit tourner 24/7. Le mettre sur un VPS Linux dédié coûte 6,98 € par mois et le garde en ligne sans dépendre de votre PC. Voici comment déployer proprement votre bot Node.js avec PM2, le gestionnaire de processus de référence.
1. Choisir son VPS
Un bot Discord modeste (1-10 serveurs) tient sur 1 vCPU / 1 Go RAM. Pour 100+ serveurs ou des fonctionnalités lourdes (musique, IA), prévoyez plutôt 2 vCPU / 4 Go RAM.
Nos VPS Intel HelloServ sont parfaits (KVM, SSD datacenter, anti-DDoS, dès 6,98 €/mois). Node.js tourne aussi sous Windows : si vous préférez gérer votre bot depuis un bureau à distance, un VPS Windows fait l’affaire, mais la suite de ce guide suppose Linux.
2. Installer Node.js LTS
Via NodeSource (versions à jour) :
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v && npm -v
3. Créer un utilisateur dédié
Ne lancez jamais votre bot en root :
sudo adduser --system --group --shell /bin/bash botdiscord
sudo mkdir -p /home/botdiscord/bot
sudo chown botdiscord:botdiscord /home/botdiscord/bot
4. Déployer votre bot
Soit via git clone, soit via scp. Exemple :
sudo -u botdiscord -i
cd /home/botdiscord/bot
git clone https://github.com/votre-repo.git .
npm install --production
5. Variables d'environnement
Créez .env avec votre token Discord (jamais commit !) :
DISCORD_TOKEN=Mxxxxxxxxxxxxxxxxxx
DATABASE_URL=postgresql://user:pass@localhost/botdb
NODE_ENV=production
chmod 600 .env
6. Installer PM2
sudo npm install -g pm2
pm2 start index.js --name discord-bot
pm2 startup
pm2 save
PM2 redémarrera votre bot après chaque reboot du VPS et en cas de crash.
7. Monitoring PM2
pm2 status # liste des process
pm2 logs discord-bot # logs en temps réel
pm2 monit # CPU/RAM/uptime
pm2 restart discord-bot # redémarrage
8. Logs propres
Configurez la rotation des logs :
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
9. Webhook de monitoring
Ajoutez un check Cron simple qui poste sur un webhook Discord si le bot est down :
*/5 * * * * pgrep -f "node.*discord-bot" || curl -X POST -H "Content-Type: application/json" -d '{"content":"⚠️ Bot Discord DOWN"}' $WEBHOOK_URL
10. Auto-update du bot
Avec un webhook GitHub Action ou un script de déploiement :
cd /home/botdiscord/bot
git pull
npm install --production
pm2 restart discord-bot
Bonnes pratiques production
- Base de données séparée (PostgreSQL ou MariaDB sur le même VPS)
- Backups quotidiens automatiques
- Mise à jour Discord.js régulière (faille de sécurité)
- Rate-limiting côté votre code (anti spam commands)
Pourquoi pas Heroku / Vercel ?
Heroku gratuit a disparu, Vercel n'aime pas les processus long-running (votre bot timeoutera). Un VPS dédié reste le meilleur rapport prix/fiabilité pour un bot Discord.
Démarrer un bot Discord 24/7 stable : VPS Intel HelloServ dès 6,98 €/mois, livraison instantanée.












