Guía de despliegue Fráncfort, Alemania
Un bot de Discord mantiene una conexión abierta en lugar de responder a peticiones HTTP, así que en Nodion se ejecuta como proceso worker sin puerto. Añade una línea al Procfile y un proceso, guarda el token en una variable secreta, y el bot funciona las 24 horas del día en Fráncfort. Los bots de Telegram con long polling funcionan igual.
worker, sin puertoworker: python bot.py o 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 con discord.py. Un bot de Node.js usa worker: node bot.js, discord.js en package.json y un lockfile incluido en el commit; para un bot en TypeScript con un paso de build, un Dockerfile es la vía más sencilla. No añadas una línea web:: el bot no tiene servidor web. Procfile worker: python bot.py DISCORD_TOKEN y márcalo como secreto: una vez guardado, el valor ya no se puede volver a leer. worker sin puerto y con el comando vacío, para que ejecute la entrada del Procfile con ese nombre. Después pon web a 0 instancias o elimínalo: un bot nunca responde al health check HTTP que necesita web. SIGTERM. Tu bot tiene que conectarse limpiamente al arrancar, y durante un breve momento ambas copias pueden estar online. Con un volumen local vinculado no hay sustitución diaria, y en un despliegue la instancia antigua se detiene antes de que arranque la nueva.web, escuchan en PORT y responden con 2xx o 3xx en la ruta del health check.DATABASE_URL, REDIS_URL o CLICKHOUSE_URL. release: del Procfile se ejecuta con cada nueva build. Las apps con Dockerfile, así como los redeploys o rollbacks a una imagen anterior, usan un comando de release definido en la propia app, que además tiene prioridad sobre la línea del Procfile. En los sitios estáticos, el paso de release se ejecuta en una imagen que solo contiene los archivos generados por la build. No. Un proceso se ejecuta hasta que lo escalas a 0 instancias o lo eliminas. Aproximadamente una vez al día se sustituye por una instancia nueva (no si tiene un volumen local vinculado), así que asegúrate de que el bot se vuelve a conectar al arrancar.
Sí. Un bot con long polling, por ejemplo python-telegram-bot con run_polling(), se ejecuta como worker exactamente igual que un bot de Discord, con su token en una variable secreta. En cambio, un bot en modo webhook es una app web normal.
El bot se ejecutó como proceso web, que espera una respuesta HTTP que nunca llega; pasados 10 minutos, la release se cancela. Añade el proceso worker, pon web a 0 instancias y vuelve a desplegar.
En la región EU Central, en Fráncfort (Alemania). La build, el registry, la app y sus bases de datos, volúmenes, buckets, logs y métricas permanecen en esa región. La API y el plano de control de Nodion están alojados en Alemania. Nodion GmbH tiene su sede en Stuttgart.
Nodion te ofrece las bases para ello: Nodion GmbH tiene su sede en Stuttgart (Alemania); en la región de Fráncfort, la app, sus bases de datos y sus volúmenes se ejecutan en Alemania. Puedes formalizar electrónicamente el DPA (contrato de encargo del tratamiento, art. 28 del RGPD) en el dashboard. Que tu uso cumpla el RGPD también depende de cómo configures y uses la app.
Una instancia de app cuesta desde 1 EUR al mes. La configuración del recuadro de costes cuesta 1 EUR al mes: App 1 EUR. Los precios no incluyen IVA y la facturación es por segundo. Puedes elegir tamaños mayores o más instancias cuando lo necesites.
Sí. Cada app recibe un nombre de host predeterminado con HTTPS. Añade tu propio dominio en la pestaña Domains de la app; el certificado TLS se emite y se renueva automáticamente.
Hasta 15 € de crédito al registrarte.
o con tu email
Novedades del producto, sin spam. Puedes darte de baja cuando quieras.
Suscripción completada.