Guide de déploiement Francfort, Allemagne
Un bot Discord garde une connexion ouverte au lieu de répondre à des requêtes HTTP : sur Nodion, il tourne donc comme processus worker sans port. Ajoutez une ligne au Procfile et un processus, gardez le token dans une variable secrète, et le bot tourne en permanence à Francfort. Les bots Telegram en long polling fonctionnent de la même façon.
worker, sans portworker: python bot.py ou worker: node bot.jsclient.login(process.env.DISCORD_TOKEN). bot.py import os
import discord
intents = discord.Intents.default()
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f"Logged in as {client.user}")
client.run(os.environ["DISCORD_TOKEN"]) requirements.txt avec discord.py. Un bot Node.js utilise worker: node bot.js, discord.js dans package.json et un lockfile committé ; pour un bot TypeScript avec une étape de build, un Dockerfile est la voie la plus simple. N'ajoutez pas de ligne web: : le bot n'a pas de serveur web. Procfile worker: python bot.py DISCORD_TOKEN et marquez-le comme secret : une fois enregistrée, la valeur ne peut plus être relue. worker sans port et avec une commande vide : il exécute alors l'entrée du Procfile qui porte ce nom. Passez ensuite web à 0 instance ou supprimez-le : un bot ne répond jamais au health check HTTP dont web a besoin. SIGTERM. Votre bot doit se connecter proprement au démarrage, et pendant un court instant les deux copies peuvent être en ligne. Avec un volume local rattaché, il n'y a pas de remplacement quotidien, et lors d'un déploiement l'ancienne instance s'arrête avant que la nouvelle démarre.web, écoutent sur PORT et répondent avec un 2xx ou un 3xx sur le chemin du health check.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. release: du Procfile s'exécute à chaque nouveau build. Les apps Dockerfile, ainsi que les redéploiements ou les rollbacks vers une image antérieure, utilisent une commande de release définie sur l'app elle-même, qui prime aussi sur la ligne du Procfile. Sur les sites statiques, l'étape de release s'exécute dans une image qui ne contient que les fichiers générés par le build. Non. Un processus tourne jusqu'à ce que vous le passiez à 0 instance ou le supprimiez. Environ une fois par jour, il est remplacé par une nouvelle instance (pas avec un volume local rattaché) : assurez-vous donc que le bot se reconnecte au démarrage.
Oui. Un bot en long polling, par exemple python-telegram-bot avec run_polling(), tourne comme worker exactement comme un bot Discord, avec son token dans une variable secrète. Un bot en mode webhook est en revanche une app web normale.
Le bot a tourné comme processus web, qui attend une réponse HTTP qui n'arrive jamais ; au bout de 10 minutes, la release est annulée. Ajoutez le processus worker, passez web à 0 instance et redéployez.
Dans la région EU Central, à Francfort (Allemagne). Le build, le registry, l'app et ses bases de données, volumes, buckets, logs et métriques restent dans cette région. L'API et le plan de contrôle de Nodion sont hébergés en Allemagne. Nodion GmbH a son siège à Stuttgart.
Nodion en pose les bases : Nodion GmbH a son siège à Stuttgart (Allemagne). Dans la région de Francfort, l'app, ses bases de données et ses volumes fonctionnent en Allemagne. Vous concluez le DPA (accord de traitement des données, art. 28 RGPD) par voie électronique dans le dashboard. La conformité de votre déploiement dépend aussi de la façon dont vous configurez et utilisez l'app.
Une instance d'app coûte à partir de 1 EUR par mois. La configuration présentée dans l'encadré des coûts revient à 1 EUR par mois : App 1 EUR. Les prix sont HT, avec une facturation à la seconde. Vous pouvez choisir des tailles plus grandes ou davantage d'instances dès que vous en avez besoin.
Oui. Chaque app reçoit un nom d'hôte par défaut avec HTTPS. Ajoutez votre propre domaine dans l'onglet Domains de l'app. Le certificat TLS est émis et renouvelé automatiquement.
Jusqu'à 15 € de crédit de bienvenue à l'inscription.
ou par e-mail
Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.
Inscription confirmée.