Framework Fráncfort, Alemania
Nodion reconoce FastAPI o Starlette entre tus dependencias, las instala con su buildpack de Python y arranca Uvicorn sobre tu main.py o app.py. Las migraciones pueden ejecutarse como paso de release antes de que cada nueva versión entre en producción, y la API se ejecuta en Fráncfort, junto a una base de datos PostgreSQL gestionada si la necesitas.
uvicorn main:app, un procesofastapi[standard] lo incluye; con fastapi a secas, añade tú uvicorn. Fija la versión de Python en .python-version, porque un rango elige la versión más reciente. requirements.txt fastapi[standard] main.py y app.py, el que contenga FastAPI o Starlette y ejecuta uvicorn main:app o uvicorn app:app en 0.0.0.0 y en el PORT que define. Responde a / con un 200: es la ruta por defecto del health check. main.py from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"status": "ok"} app/main.py, no hay ningún archivo en la raíz que encontrar. Indica tú el módulo en un Procfile; la línea sustituye al comando de inicio por defecto. Procfile web: uvicorn app.main:app --host 0.0.0.0 --port $PORT release: se ejecuta 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: alembic upgrade head DATABASE_URL en el siguiente despliegue. Marca las claves de API como secretas y haz push. allowed_hosts, así que el middleware responde con un 400 y la release nunca entra en producción. Añade después una función @app.middleware("http") que devuelva 200 para /healthz (Starlette ejecuta primero el middleware que se añadió el último) y configura /healthz como ruta del health check en los ajustes de la app.web: uvicorn main:app --host 0.0.0.0 --port $PORT --workers 2 en un Procfile o ejecuta más instancias del proceso web.DATABASE_URL de Nodion empieza por postgres://, que SQLAlchemy 1.4 y posteriores no aceptan. Cambia el esquema antes de pasarla, por ejemplo por postgresql+psycopg:// para psycopg 3, que funciona con engines síncronos y asíncronos.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 por defecto: Nodion arranca un solo proceso de Uvicorn. Añade --workers 2 o más a tu propia línea web:, o escala el proceso web a más instancias.
El health check necesita un 2xx o 3xx en /. Una API sin ruta raíz responde con 404, y TrustedHostMiddleware responde con 400 a la dirección interna. Añade una ruta raíz, o configura en los ajustes de la app una ruta como /healthz y respóndela antes de la comprobación del host.
Sí. Con Starlette entre tus dependencias se aplica el mismo comando por defecto con Uvicorn, que busca app en main.py o app.py.
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.