Héberger un Bot Discord
Héberger un Bot Discord sur VPS Xeon
Ce guide détaille l'hébergement d'un bot Discord sur un VPS Xeon RedHeberg, avec les configurations Node.js et Python les plus courantes.
Prérequis
Un VPS Xeon XS (2vCPU/4GB) ou S (2vCPU/6GB) suffit largement pour la plupart des bots Discord. Les performances Xeon garantissent une excellente stabilité.
Recommandation VPS
Le VPS Xeon S (5,95€/mois) offre un excellent rapport performance/prix pour les bots Discord moyens à importants.
Configuration initiale du serveur
1. Connexion et mise à jour
ssh root@YOUR_SERVER_IP
# Mise à jour du système
apt update && apt upgrade -y
# Installation des outils essentiels
apt install -y curl wget git htop nano ufw
2. Configuration du pare-feu
# Configuration UFW basique
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw --force enable
# Vérification du statut
ufw status
Bot Discord en Node.js
1. Installation de Node.js via NVM
# Installation de NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Rechargement du profil
source ~/.bashrc
# Installation de la dernière version LTS de Node.js
nvm install --lts
nvm use --lts
nvm alias default node
# Vérification des versions
node --version
npm --version
2. Déploiement du bot
# Création du répertoire de travail
mkdir -p /opt/discord-bot
cd /opt/discord-bot
# Clonage du projet (remplacer par votre dépôt)
git clone https://github.com/votre-username/votre-bot-discord.git .
# Installation des dépendances
npm install
# Création du fichier de configuration
nano .env
Exemple de fichier .env :
DISCORD_TOKEN=votre_token_discord_ici
CLIENT_ID=votre_client_id
GUILD_ID=votre_guild_id_optionnel
PREFIX=!
NODE_ENV=production
3. Installation et configuration de PM2
# Installation globale de PM2
npm install -g pm2
# Démarrage du bot avec PM2
pm2 start index.js --name "discord-bot" --time
# Configuration du démarrage automatique
pm2 startup
# Copiez-collez la commande affichée
# Sauvegarde de la configuration PM2
pm2 save
# Vérification du statut
pm2 status
pm2 logs discord-bot
4. Gestion avancée PM2
# Redémarrage du bot
pm2 restart discord-bot
# Arrêt du bot
pm2 stop discord-bot
# Suppression du processus
pm2 delete discord-bot
# Monitoring en temps réel
pm2 monit
# Logs en temps réel
pm2 logs discord-bot --lines 50
Bot Discord en Python
1. Installation de Python et pip
# Installation de Python et outils
apt install -y python3 python3-pip python3-venv python3-dev
# Vérification de la version
python3 --version
pip3 --version
2. Configuration de l'environnement virtuel
# Création du répertoire
mkdir -p /opt/discord-bot-python
cd /opt/discord-bot-python
# Clonage du projet
git clone https://github.com/votre-username/votre-bot-python.git .
# Création de l'environnement virtuel
python3 -m venv venv
# Activation de l'environnement
source venv/bin/activate
# Installation des dépendances
pip install discord.py python-dotenv aiohttp
# Si requirements.txt existe
pip install -r requirements.txt
3. Configuration du bot Python
# Création du fichier .env
nano .env
DISCORD_TOKEN=votre_token_discord_ici
CLIENT_ID=votre_client_id
PREFIX=!
DEBUG=False
4. Démarrage avec PM2 (recommandé)
# Création d'un script de démarrage
nano start.sh
#!/bin/bash
cd /opt/discord-bot-python
source venv/bin/activate
python3 bot.py
# Rendre le script exécutable
chmod +x start.sh
# Démarrage avec PM2
pm2 start start.sh --name "discord-bot-python" --interpreter bash
# Configuration du démarrage automatique
pm2 startup
pm2 save
5. Alternative avec systemd
# Création du service systemd
nano /etc/systemd/system/discord-bot.service
[Unit]
Description=Discord Bot Python
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/discord-bot-python
Environment=PATH=/opt/discord-bot-python/venv/bin
ExecStart=/opt/discord-bot-python/venv/bin/python bot.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
# Activation du service
systemctl daemon-reload
systemctl enable discord-bot
systemctl start discord-bot
# Vérification du statut
systemctl status discord-bot
# Logs du service
journalctl -u discord-bot -f
Surveillance et maintenance
Monitoring des ressources
# Utilisation des ressources en temps réel
htop
# Espace disque
df -h
# Utilisation mémoire
free -h
# Processus PM2
pm2 status
Gestion des logs
# Rotation des logs PM2
pm2 install pm2-logrotate
# Configuration de la rotation
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 30
pm2 set pm2-logrotate:compress true
Sécurité du token
Ne jamais committer le fichier .env contenant votre token Discord. Ajoutez-le à .gitignore.
Votre bot Discord est maintenant opérationnel sur l'infrastructure française RedHeberg avec une haute disponibilité garantie par PM2 ou systemd.