Lenguaje Fráncfort, Alemania
Nodion hace la build de cualquier repositorio con un requirements.txt, un Pipfile o un pyproject.toml usando su buildpack de Python. Instala tus dependencias, arranca Django, FastAPI y Flask con un servidor de producción y ejecuta todo lo demás desde app.py, main.py o tu Procfile. La app se ejecuta en Fráncfort.
requirements.txt, Pipfile o pyproject.tomlapp.py / main.py o Procfilepoetry.lock (Poetry), Pipfile.lock (Pipenv), requirements.txt (pip) y, por último, un pyproject.toml sin otro archivo de instalación, que se instala con pip install . (o con Poetry si tiene una sección [tool.poetry]). Un uv.lock se ignora, y un Pipfile sin su lockfile no instala nada. .python-version, después runtime.txt y después requires-python en pyproject.toml; si no hay ninguno, obtienes la 3.13. Un rango como requires-python = ">=3.10" selecciona la versión publicada más reciente, ahora mismo la 3.15, así que fija la versión con la que haces tus pruebas. .python-version 3.13 manage.py) arranca con Gunicorn, FastAPI o Starlette con Uvicorn y Flask con Gunicorn. Nodion no añade el servidor por ti, así que inclúyelo en tus dependencias. Sin framework, Nodion ejecuta python app.py o python main.py, y ese script tiene que escuchar en 0.0.0.0 y en el PORT que define Nodion. web: sustituye al comando por defecto. Sin Django, FastAPI, Flask, app.py ni main.py, el Procfile tiene que definir un proceso, web: o worker:; si no, la build se detiene con un error que indica qué falta. Una línea release: se ejecuta una vez por build antes de que arranque la nueva versión: es el sitio para las migraciones. Procfile web: gunicorn myapp.wsgi --bind 0.0.0.0:$PORT
release: alembic upgrade head DATABASE_URL, solo existen en runtime. A partir de ahí, cada push genera una nueva release. worker: no arranca nada por sí sola: en la pestaña Processes, añade un proceso con el mismo nombre y sin puerto. Mantén a su lado una línea web: explícita, porque sin ella la primera entrada del Procfile que no sea release: pasa a ser el comando por defecto. Una app que solo tiene workers, como un bot, pone en cambio web a 0 instancias.requirements.txt, Pipfile, pyproject.toml, poetry.lock y Pipfile.lock. Los lockfiles también incluyen las dependencias indirectas, así que una librería que incluye FastAPI como dependencia, como Gradio, puede activar el comando por defecto de FastAPI. Una línea web: lo resuelve.requirements.txt, por ejemplo con uv export --no-emit-project -o requirements.txt, y haz commit de él; si no, Nodion instala desde pyproject.toml sin lockfile.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. De la 3.10 a la 3.15, con la 3.13 por defecto. Fija una en .python-version y obtendrás el parche más reciente de esa versión. Las versiones que ya han llegado al final de su vida útil hacen fallar la build con un mensaje claro.
Entonces, si no hay Django, FastAPI ni Flask, tu Procfile indica qué se ejecuta: una línea web: para un servidor o una línea worker: para un proceso en segundo plano. Si no la hay, la build falla con un error que te dice qué añadir.
Sí. Ponlo en un Procfile como worker: python job.py, añade en la pestaña Processes un proceso llamado worker sin puerto y pon web a 0 instancias. Para scripts que se ejecutan de forma programada, usa la pestaña Cron.
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 2 EUR al mes: App 2 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.