Framework Fráncfort, Alemania
Nodion reconoce Flask entre tus dependencias, las instala con su buildpack de Python y arranca Gunicorn con tres workers sobre tu objeto app. Las migraciones pueden ejecutarse como paso de release antes de que cada nueva versión entre en producción, y la app se ejecuta en Fráncfort, junto a una base de datos PostgreSQL gestionada si la necesitas.
gunicorn app:app, 3 workers.python-version, porque un rango en pyproject.toml elige la versión más reciente. requirements.txt flask
gunicorn app.py, application.py y wsgi.py que contenga Flask y ejecuta gunicorn <archivo>:app con 3 workers en el PORT que define. El objeto tiene que llamarse app. app.py from flask import Flask
app = Flask(__name__)
@app.get("/")
def index():
return "Hello from Frankfurt" create_app() no hay ningún app a nivel de módulo que encontrar, así que indica a Gunicorn en un Procfile que llame a la factory. La línea sustituye al comando de inicio por defecto. Procfile web: gunicorn "myapp:create_app()" --bind 0.0.0.0:$PORT --workers 3 release: ejecuta flask db upgrade una vez por build, después de la build y antes de que arranque la nueva versión. Si falla, el despliegue se detiene y la versión en ejecución sigue activa. Procfile release: flask --app myapp db upgrade DATABASE_URL en el siguiente despliegue. Define tu SECRET_KEY como variable secreta, léela con os.environ y haz push. DATABASE_URL de Nodion empieza por postgres://, que SQLAlchemy 1.4 y posteriores no aceptan. Cambia el esquema antes de pasarla: postgresql:// para psycopg2, postgresql+psycopg:// para psycopg 3./ responde con 2xx o 3xx, así que una redirección a una página de login vale. Si / devuelve 401 o 404, añade una ruta como /healthz y configúrala como ruta del health check en los ajustes de la app.worker: celery -A myapp worker junto con una línea web: gunicorn app:app --bind 0.0.0.0:$PORT --workers 3 explícita; sin una línea web:, la primera entrada del Procfile que no sea release: pasa a ser el comando por defecto. Después, en la pestaña Processes, añade un proceso llamado worker sin puerto. Valkey en la misma región te da REDIS_URL.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. Normalmente falta Gunicorn en tus dependencias, el objeto no se llama app o la app se crea mediante una función de fábrica. Añade gunicorn, cambia el nombre del objeto o define una línea web: que llame a create_app().
No. Con Flask entre tus dependencias, Nodion arranca Gunicorn. El servidor integrado de Flask está pensado para desarrollo, así que deja app.run() bajo if __name__ == "__main__": para usarlo en local.
Tres por defecto. Define tu propio número con --workers en una línea web: y ejecuta más instancias del proceso web cuando una no sea suficiente.
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 3.50 EUR al mes: App 2 EUR, PostgreSQL 1.50 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.