Héberger son bot Discord

Discord mars 20, 2020

Cet article traite d'un sujet nécessitant de bonnes connaissances en informatique.

De plus en plus d'utilisateurs de Discord décident de créer un robot personnalisé afin d'ajouter des fonctionnalités à leur serveur, voire pour le proposer à la communauté, mais se pose la question de l'hébergement de ce dernier. Je vais vous donner mes astuces afin d'héberger le votre à moindre coût et facilement !

Quel hébergeur choisir ?

Avant tout chose, il faut sélectionner un hébergeur de qualité pour assurer des performances correctes à votre bot. Nous nous orienterons vers un VPS (serveur dédié virtuel) afin d'avoir le meilleur rapport qualité/prix possible.

DigitalOcean : l'offre de choix pour débuter

DigitalOcean est un hébergeur cloud computing américain. Il propose diverses offres, dont les Droplets, des VPS rapides dont vous pouvez modifier la puissance à tout moment. Les hébergements peuvent êtres créés à la demande (et même de manière automatisée) et sont facturés à l'heure, comme cela se pratique chez les hébergeurs proposant des offres de cloud computing.

Il s'agit pour moi de la meilleure solution pour débuter. Les serveurs sont de très bonne qualité et situés aux Etats-Unis, ce qui vous permet une latence très faible avec l'API de Discord. La flexibilité des offres est également un gros atout pour débuter un projet en pouvant s'arrêter à tout moment.

L'hébergeur dispose également d'une excellente interface de gestion - bien qu'uniquement en anglais - depuis laquelle vous pouvez configurer un pare-feu ou encore surveiller les ressources de votre serveur. Je vous invite à consulter son site internet pour découvrir toutes les fonctionnalités offertes.

Interface de surveillance en temps réel des ressources de Droplets

Concernant les tarifs, ils commencent à partir de 5$/mois. L'offre la moins cher convient tout à fait pour un bot Discord de taille moyenne, et vous pourrez facilement augmenter les performances de votre serveur à tout moment.


En cliquant sur le lien de parrainage suivant, vous obtiendrez 100 $ de crédit valides deux mois, ce qui vous permettra de débuter votre projet sans vous soucier de votre porte-monnaie !

Mon lien de parrainage (100 $ de crédit offert pour 2 mois) : https://m.do.co/c/64bb0a8233da

Les offres gratuites : à éviter !

Beaucoup de personnes recherchent des manières d'héberger gratuitement leur bot, en passant des hébergeurs peu connus proposant des offres gratuites. Ne rêvez pas, vous n'aurez pas d'hébergement de qualité gratuit. Ces hébergeurs "gratuits" proposent des offres en général de très mauvaise qualité, et vous n'avez aucune garantie dessus (que ce soit sur la disponibilité ou la pérennité du service). Vous risquez même de tomber dans une arnaque.

Le seul hébergeur proposant une offre gratuite que je peux vous recommander est Heroku. Bien qu'il s'agisse d'un hébergeur à destination d'applications web, il permet de faire tourner des workers, qui peuvent être utilisés pour lancer un petit bot ne demandant que très peu de ressources (à éviter pour un bot public). Son utilisation est complexe pour un débutant, lisez attentivement la documentation afin de comprendre comment cela fonctionne :

Heroku Dev Center
Learn about building, deploying and managing your apps on Heroku.

Si vous lancez votre projet et ne souhaitez pas payer dès le début, je vous recommande d'utiliser mon lien de parrainage DigitalOcean afin d'obtenir le crédit nécessaire pour héberger votre bot durant deux mois sans aucun frais. Vous pouvez également opter pour l'offre d'InovaPerf à 0,95 €/mois (voir ci-dessous).

Quelques autres hébergeurs ...

Si les offres de DigitalOcean ne vous conviennent pas, que ce soit parce qu'elles sont tout de même trop chères pour vous ou que vous avez besoin de plus de puissance, voici quelques autres hébergeurs que je vous recommande :

  • OVH : Le leader français de l'hébergement propose des offres de VPS de bonne qualité à partir de 3,5 €/mois. Le rapport puissance/prix est plus intéressant que celui de DigitalOcean, mais vous perdrez les bénéfices de ce dernier (paiement flexible, ...).
  • InovaPerf : Un hébergeur français low-cost aux offres très abordables. La stabilité y est moindre par rapport à des hébergeurs plus populaires, mais vous bénéficierez d'un support bénévole sur Discord. Les VPS NVMe commencent à 0,95€/mois.
  • Hetzner : Hébergeur allemand orienté dans les serveurs dédiés, idéal si vous avez besoin de beaucoup de puissance. Une offre Cloud est également disponible, offrant des serveurs puissants et de qualité à un prix relativement bas.

Mise en place du serveur

Une fois que vous possédez un serveur sur lequel installer votre bot, il vous faudra le sécuriser et le configurer proprement afin d'avoir un environnement de production propice. Je vais vous donner quelques astuces pour gérer votre bot en production. Si vous n'avez jamais utilisé de serveur Linux, je vous conseille de vous tourner vers la distribution Ubuntu en version LTS (la dernière si possible), et de consulter ces liens :

Reprenez le contrôle à l’aide de Linux !
Linux est un système d’exploitation qui fait tourner les programmes de votre machine, à l’instar de Windows et Mac OS X. Créé par des communautés de passionnés d’informatique, il vous donne un contrôle sans précédent sur votre machine... et il est gratuit !
Sécuriser son serveur Linux sous Ubuntu • baptiste0928
La sécurisation de votre serveur est primordiale. Je vous présente mes meilleures astuces pour vous protéger des attaques de pirates sans prise de tête !

Gérer le processus en arrière-plan

Afin que votre bot tourne en continu, il vous faudra le lancer en arrière-plan, sous peine que le processus soit arrêté lorsque vous vous déconnectez de votre serveur. Vous aurez pour cela besoin d'un gestionnaire de daemon. Les deux plus notables sont systemd et pm2.

systemd : le système d'initialisation standard de Linux

Ce système d'initialisation et de daemon est présent depuis plusieurs années dans la majorité des distributions Linux, et gère la plupart des processus en arrière-plan de votre système. Il permet notamment de lancer automatiquement un programme en arrière-plan, et de le redémarrer en cas d'arrêt non prévu. C'est un outil très puissant, mais pouvant paraître complexe pour un débutant. Voici quelques liens pour comprendre son utilisation ainsi qu'un exemple de service pour un bot Discord :

[Unit]
Description=Discord Bot
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/discord-bot
ExecStart=/usr/bin/python3 main.py
Restart=always
User=bot-owner

[Install]
WantedBy=multi-user.target
Exemple de service systemd pour un bot Discord (à adapter en fonction de vos besoins)

pm2 : le module Node.js pour gérer vos applications

Si systemd est trop complexe, vous pouvez vous orienter vers pm2. Une fois le module et node.js installé sur votre machine, pm2 vous permettra de gérer vos processus depuis une interface en ligne de commande relativement simple. Consultez sa documentation (en anglais) afin d'apprendre son utilisation.

PM2 - Quick Start
Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.

Soyez avertis des arrêts de votre bot

Une fois votre service configuré, votre bot peut tout de même s'arrêter de manière intempestive (problème de serveur, arrêts à répétition, ...). Afin d'être alerté, vous pouvez utiliser Watchbot. Ce bot Discord très simple vous alertera dans un salon de votre choix, en messages privés ou encore par SMS lorsque l'un des robots que vous surveillez passe hors-ligne. Pratique !

Exemple de notification envoyée par Watchbot

Pour en savoir plus et l'inviter, rendez-vous ici : https://watchbot.app/

Le mot de la fin ...

Héberger son bot Discord n'est pas une mince affaire si vous souhaitez le faire proprement, et vous demandera sûrement quelques heures de galère devant votre ordinateur. Si vous avez un problème, effectuez une recherche sur internet (en anglais), ou demandez dans les commentaires si vous ne trouvez rien.

Bonne chance pour votre projet :D

Mots clés

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.