Un bot Discord doit tourner 24/7. Le mettre sur un VPS Linux dédié, c\'est 5 €/mois pour une disponibilité industrielle. 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, NVMe, anti-DDoS, dès 4,99 €/mois).
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 4,99 €/mois, livraison instantanée.