Héberger un bot Discord : les solutions
Un bot Discord a une exigence que beaucoup de projets n'ont pas : il doit rester connecté. Dès que le processus s'arrête, le bot apparaît hors ligne, les commandes ne répondent plus, les tâches planifiées sautent. Le code, lui, est souvent la partie facile.
Voici les façons courantes d'héberger un bot, ce qu'elles demandent, et où elles cassent.
Ce dont un bot a réellement besoin
Avant de comparer, il faut savoir ce qu'on cherche :
- Un processus qui tourne longtemps. Un bot classique ouvre une connexion WebSocket vers la passerelle Discord et la garde ouverte. Il ne répond pas à des requêtes HTTP ponctuelles comme un site : il doit vivre en permanence.
- Aucun port entrant, dans le cas courant. C'est le bot qui se connecte à Discord, pas l'inverse. Un port n'est nécessaire que si vous utilisez les interactions par webhook HTTP ou un tableau de bord web.
- Un redémarrage automatique. Une exception non gérée, une mise à jour de dépendance, un redémarrage de la machine : le bot doit repartir seul.
- Un endroit sûr pour le jeton. Le jeton donne le contrôle total du bot. Il vit dans une variable d'environnement, jamais dans le dépôt (voir Variables d'environnement et jetons).
- Peu de ressources, la plupart du temps. Un bot de modération ou de rôles pour une communauté de taille raisonnable se contente de quelques centaines de Mo. Les bots de musique (encodage audio) et ceux qui gardent beaucoup de cache en mémoire sur de très gros serveurs sont les exceptions.
Option 1 : votre propre ordinateur
C'est là que tout le monde commence, et c'est très bien pour développer. Pour la production, les limites arrivent vite : l'ordinateur s'éteint, se met en veille, redémarre pour une mise à jour, et le bot tombe avec lui. Vous exposez aussi votre machine personnelle et le jeton y traîne dans un fichier.
Pour : gratuit, immédiat. Contre : disponibilité égale à celle de votre ordinateur.
Option 2 : un Raspberry Pi ou un vieux PC à la maison
Une vraie solution pour un bot personnel. Avec un service systemd (Restart=always) ou un gestionnaire de processus comme pm2, le bot redémarre seul. Un Pi consomme peu.
Les limites : votre connexion internet et votre courant domestiques, la carte SD qui finit par lâcher sur un Pi qui écrit beaucoup, et surtout l'administration qui vous revient entièrement (mises à jour de sécurité, sauvegardes, supervision). Quand le bot sert une communauté, une coupure pendant vos vacances se remarque.
Pour : coût faible, contrôle total, très formateur. Contre : vous êtes l'hébergeur, avec tout ce que ça implique.
Option 3 : les offres gratuites
Plusieurs plateformes proposent un palier gratuit. Lisez les conditions avec un œil sur trois points :
- La mise en veille. Beaucoup de paliers gratuits endorment une application inactive, ou la réveillent seulement à la réception d'une requête HTTP. Ce modèle convient à un site, pas à un processus qui doit garder une connexion ouverte. Les astuces de « ping » pour l'empêcher de dormir sont fragiles et souvent contraires aux conditions d'utilisation.
- Les quotas. Heures de calcul par mois, mémoire, sortie réseau : un bot qui tourne en permanence consomme un mois entier d'heures.
- La pérennité. Les paliers gratuits changent ou disparaissent ; prévoyez de pouvoir déménager.
Pour : gratuit, pour tester. Contre : souvent inadapté à un processus permanent.
Option 4 : un hébergement applicatif depuis Git
C'est le modèle « je pousse mon code, la plateforme s'occupe du reste ». Vous fournissez un dépôt Git avec un package.json, un requirements.txt ou un Dockerfile ; la plateforme construit l'application, injecte vos variables d'environnement et la relance si elle s'arrête.
Pour : pas de système à administrer, déploiement reproductible, jeton hors du code. Contre : moins de liberté qu'un serveur (pas d'outils système arbitraires), et vous dépendez des choix techniques de la plateforme.
C'est le bon choix pour la grande majorité des bots : un seul processus, éventuellement une petite base embarquée, éventuellement un tableau de bord web.
Option 5 : un VPS
Un serveur Linux avec accès root. Vous installez Node.js ou Python, vous écrivez un service systemd ou un docker compose, et vous faites tourner autant de bots et de services que les ressources le permettent.
Pour : liberté totale, plusieurs bots et une vraie base de données sur la même machine. Contre : vous administrez un serveur : mises à jour, pare-feu, sauvegardes, supervision.
Je le conseille quand le projet dépasse un bot : plusieurs bots, une base PostgreSQL partagée, une API à côté, des outils système particuliers.
Comment je choisis
| Situation | Option |
|---|---|
| Développement, tests | Votre ordinateur |
| Bot personnel, envie d'apprendre l'administration | Raspberry Pi ou vieux PC |
| Un bot pour une communauté, sans vouloir gérer un serveur | Hébergement applicatif depuis Git |
| Plusieurs bots, base de données, services annexes | VPS |
Quel que soit le choix, trois réflexes : le jeton en variable d'environnement, un redémarrage automatique, et des journaux que vous savez retrouver quand le bot tombe.
Chez HebergHub
Nous proposons les deux dernières options.
L'hébergement applicatif déploie votre bot depuis votre dépôt Git : Node.js, Python, PHP ou tout projet doté d'un Dockerfile. La formule Application Starter coûte 1,99 € TTC par mois, pour une application avec jusqu'à 2 Go de RAM et 2 vCPU, sans engagement au-delà de la période choisie. Tout se règle depuis la boutique et votre espace client : vous y indiquez le dépôt et la branche, vous collez le jeton dans les variables d'environnement, et vous disposez de boutons pour lire les journaux, redémarrer ou redéployer ; le bot est relancé automatiquement s'il s'arrête. Si votre bot expose une page, elle est publiée en HTTPS sur nom.apps.heberghub.app. Les serveurs de l'hébergement applicatif sont sauvegardés chaque jour. Détails sur la page Hébergement de bot Discord.
Les VPS démarrent à 3,99 € TTC par mois en conteneur LXC et à 5,39 € en machine virtuelle KVM, avec accès root, SSH et console dans le navigateur. Pour savoir si LXC suffit à votre projet, voir LXC ou KVM : quel VPS choisir ?. Un bot qui envoie des e-mails passe par un serveur SMTP authentifié ou par un service d'envoi par API.
Nous ne publions pas de taux de disponibilité contractuel : la page Statut montre l'état réel de chaque service.
Pour la mise en ligne pas à pas : bot discord.js et bot discord.py.