Intermédiaire ⏱ 14 min Mis à jour le 29 juillet 2026

Héberger un bot Discord sur un VPS Linux (pas à pas)

Un VPS est l'endroit idéal pour faire tourner un bot Discord en continu. Voici le déploiement complet : SSH, environnement, code, secrets et démarrage 24/7.

Pourquoi héberger un bot Discord sur un VPS ?

Héberger un bot Discord sur un VPS permet de le faire fonctionner en continu, sans laisser votre ordinateur personnel allumé. Vous contrôlez le système Linux, les versions de Node.js ou Python, les variables d’environnement et le gestionnaire de processus.

Un VPS convient notamment lorsque vous souhaitez :

  • maintenir un bot connecté 24 h/24 ;
  • héberger plusieurs bots sur une même machine ;
  • utiliser une base de données ou une API complémentaire ;
  • consulter précisément les logs ;
  • automatiser les redémarrages et mises à jour ;
  • maîtriser les dépendances installées.

Les hébergements gratuits peuvent suffire pour un test, mais ils imposent souvent des limitations de ressources, de durée d’exécution ou de configuration. Un VPS offre davantage de contrôle, en contrepartie d’une administration Linux à assurer.

Un VPS TalCloud est hébergé en France et peut être déployé en 60 secondes. Avant de choisir sa capacité, vérifiez la consommation réelle de votre bot, de sa base de données et des autres services prévus.

N’exécutez pas votre bot avec le compte root. Utilisez un utilisateur Linux standard et accordez-lui uniquement les droits nécessaires.

Se connecter au VPS en SSH

Récupérez dans votre espace client :

  • l’adresse IP du VPS ;
  • le nom d’utilisateur ;
  • le mot de passe initial ou la clé SSH ;
  • le port SSH, généralement 22.

Depuis Linux, macOS ou un terminal Windows récent, connectez-vous avec :

ssh utilisateur@ADRESSE_IP

Si le port est différent :

ssh -p PORT utilisateur@ADRESSE_IP

Pour une procédure détaillée, consultez le guide pour se connecter à un VPS en SSH.

Une fois connecté, mettez à jour les paquets du système sur Debian ou Ubuntu :

sudo apt update
sudo apt upgrade -y

Installez ensuite quelques outils courants :

sudo apt install -y git curl ca-certificates

Un redémarrage peut être nécessaire après certaines mises à jour système :

sudo reboot

Reconnectez-vous en SSH lorsque le VPS est de nouveau disponible.

Pour renforcer les accès, le pare-feu et les mises à jour, suivez également le guide pour sécuriser votre serveur Linux.

Installer Node.js ou Python

Installez uniquement le runtime correspondant au langage de votre bot.

Installer Node.js avec NVM

NVM permet d’installer une version récente de Node.js sans dépendre de la version parfois ancienne disponible dans les dépôts Linux.

Clonez le dépôt officiel :

git clone https://github.com/nvm-sh/nvm.git ~/.nvm

Ajoutez NVM à votre environnement Bash :

cat >> ~/.bashrc <<'EOF'
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
EOF

Rechargez la configuration :

source ~/.bashrc

Installez la version LTS de Node.js :

nvm install --lts
nvm use --lts
nvm alias default "lts/*"

Vérifiez les versions :

node --version
npm --version

Installer Python et créer un environnement virtuel

Pour un bot développé avec discord.py, installez Python, pip et le module venv :

sudo apt install -y python3 python3-pip python3-venv

Vérifiez la version :

python3 --version

L’environnement virtuel sera créé dans le dossier du projet après le transfert du code.

Déployer le code du bot

La méthode recommandée consiste à utiliser Git. Elle facilite les mises à jour et évite de transférer manuellement tout le projet après chaque modification.

Créez un dossier pour vos applications :

mkdir -p ~/apps
cd ~/apps

Clonez votre dépôt :

git clone ADRESSE_DU_DEPOT.git mon-bot
cd mon-bot

Exemple de structure Node.js :

/home/utilisateur/apps/mon-bot/
├── index.js
├── package.json
├── package-lock.json
├── .gitignore
└── .env.example

Exemple Python :

/home/utilisateur/apps/mon-bot/
├── bot.py
├── requirements.txt
├── .gitignore
└── .env.example

Le véritable fichier .env ne doit pas être présent dans le dépôt.

Pour un dépôt privé, utilisez une clé SSH Git ou un mécanisme d’authentification sécurisé. N’insérez pas un jeton d’accès directement dans l’URL enregistrée dans l’historique du terminal.

Vous pouvez aussi transférer le projet depuis votre ordinateur avec SCP :

scp -r ./mon-bot utilisateur@ADRESSE_IP:/home/utilisateur/apps/

Ou utiliser un client SFTP. Git reste préférable pour les mises à jour régulières.

Configurer le token et les secrets

Créez le fichier .env directement sur le VPS :

nano .env

Ajoutez les variables attendues :

DISCORD_TOKEN=VOTRE_TOKEN_DISCORD
DATABASE_URL=VOTRE_CHAINE_DE_CONNEXION

Enregistrez le fichier, puis limitez sa lecture au propriétaire :

chmod 600 .env

Vérifiez que .gitignore contient bien :

.env
.env.*
!.env.example
node_modules/
.venv/
__pycache__/
*.log

Contrôlez que Git ne suit pas le fichier :

git status
git ls-files .env

La seconde commande ne doit rien retourner.

Ne placez jamais le token Discord dans le code, un dépôt Git, une capture d’écran ou un message. S’il est exposé, régénérez-le immédiatement depuis le Discord Developer Portal.

Pour approfondir cette protection, consultez le guide pour sécuriser le token de votre bot Discord.

Installer les dépendances

Projet Node.js

Dans le dossier du bot :

cd ~/apps/mon-bot

Si un fichier package-lock.json est présent, utilisez :

npm ci --omit=dev

Cette commande installe les versions enregistrées dans le fichier de verrouillage. Sans package-lock.json, utilisez :

npm install --omit=dev

Testez ensuite le programme :

node index.js

Arrêtez le test avec Ctrl + C.

Projet Python

Créez l’environnement virtuel :

cd ~/apps/mon-bot
python3 -m venv .venv

Activez-le :

source .venv/bin/activate

Mettez pip à jour et installez les dépendances :

python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Testez le bot :

python bot.py

Arrêtez-le avec Ctrl + C, puis quittez l’environnement virtuel :

deactivate

Lancer le bot en continu avec PM2

PM2 maintient le processus actif après la fermeture de la session SSH et le relance après un crash.

Installez PM2 avec le même utilisateur Linux que celui qui exécutera le bot :

npm install -g pm2

Pour un bot Node.js :

cd ~/apps/mon-bot
pm2 start index.js --name mon-bot

Pour un bot Python, PM2 peut utiliser l’interpréteur de l’environnement virtuel :

cd ~/apps/mon-bot
pm2 start bot.py --name mon-bot-python --interpreter .venv/bin/python

Vérifiez son état :

pm2 list

Consultez les logs :

pm2 logs mon-bot --lines 100

Configurez maintenant le démarrage automatique avec le VPS :

pm2 startup

PM2 affiche une commande personnalisée. Copiez-la et exécutez-la exactement, puis enregistrez la liste des processus :

pm2 save

Testez le redémarrage automatique lors d’une maintenance planifiée :

sudo reboot

Après reconnexion :

pm2 list

Pour maîtriser toutes les commandes, consultez le guide garder un bot Discord en ligne avec PM2.

Maintenir le bot à jour

Avant une mise à jour, placez-vous dans le projet et vérifiez qu’aucune modification locale non enregistrée ne sera écrasée :

cd ~/apps/mon-bot
git status

Récupérez ensuite les changements :

git pull --ff-only

Pour Node.js :

npm ci --omit=dev
pm2 restart mon-bot --update-env

Pour Python :

source .venv/bin/activate
python -m pip install -r requirements.txt
deactivate
pm2 restart mon-bot-python --update-env

Surveillez les premières lignes après le redémarrage :

pm2 logs mon-bot --lines 100

Vérifiez régulièrement :

  • les erreurs applicatives ;
  • l’utilisation de la mémoire ;
  • les mises à jour de sécurité ;
  • les dépendances obsolètes ;
  • la validité des variables d’environnement ;
  • l’espace disque disponible.

Des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.

Sauvegardez notamment le code non versionné, les fichiers persistants, les bases SQLite et les configurations. Ne sauvegardez pas les secrets dans un emplacement public.

Le guide héberger un bot Discord 24 h/24 et 7 j/7 complète cette procédure avec les principes généraux de mise en production.

En résumé

  • Héberger un bot Discord sur un VPS permet de le maintenir actif sans laisser votre ordinateur allumé.
  • Connectez-vous avec SSH et mettez à jour le système.
  • Installez Node.js avec NVM ou Python avec un environnement virtuel.
  • Déployez le code avec git clone ou, à défaut, avec SCP ou SFTP.
  • Créez le fichier .env directement sur le VPS et protégez-le avec chmod 600.
  • Ne commitez jamais le token Discord ou les identifiants de base de données.
  • Installez les dépendances avec npm ci ou pip install -r requirements.txt.
  • Testez le bot manuellement avant de le confier à PM2.
  • Lancez-le avec pm2 start, puis configurez pm2 startup et pm2 save.
  • Mettez le code à jour avec git pull --ff-only, réinstallez les dépendances et redémarrez le processus.
  • Consultez régulièrement les logs PM2 et les mises à jour de sécurité.
  • Pour héberger un bot Discord sur un VPS hébergé en France avec stockage NVMe, Anti-DDoS L3/L4/L7 inclus et support francophone, découvrez l’offre hébergement bot Discord TalCloud.