Framework Fráncfort, Alemania

Despliega Streamlit en Nodion

Nodion hace la build de tu app Streamlit con su buildpack de Python e instala tus dependencias, pero no detecta Streamlit como tal: una línea web: en un Procfile arranca el servidor. Después, la app se ejecuta en Fráncfort.

Desplegar en Nodion ›

desde 1 EUR / mes

Hasta 15 € de crédito de bienvenida al registrarte

Tipo de build
App Python (pip, Poetry o Pipenv)
Arranque
streamlit run desde tu Procfile
Python
de 3.10 a 3.15, por defecto 3.13
Región
EU Central (Fráncfort)

Despliega Streamlit paso a paso

  1. Añade Streamlit y fija la versión de Python Incluye streamlit y tus librerías de datos en requirements.txt. Fija en .python-version una versión de Python que admitan tus librerías, porque un rango elige la versión más reciente. requirements.txt
    streamlit
    pandas
  2. Arranca Streamlit desde un Procfile Sin esta línea, Nodion lanzaría python app.py, que ejecuta el script pero no arranca ningún servidor. Los flags hacen que Streamlit escuche en todas las interfaces y en el PORT que define Nodion, y evitan la pregunta interactiva del primer arranque. Procfile
    web: streamlit run app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true
  3. Guarda los secretos en variables de entorno No hagas commit de .streamlit/secrets.toml. Define las claves de API como variables secretas en la pestaña Environment y léelas con os.environ; existen en runtime, que es justo cuando Streamlit ejecuta tu script.
  4. Crea la app y haz push Crea una aplicación desde tu repositorio de GitHub, GitLab, Bitbucket o Gitea en la región EU Central. Las apps que cargan DataFrames necesitan memoria, así que 1 GB es un buen punto de partida. Streamlit responde a / con 200, por lo que el health check por defecto funciona tal cual.

A tener en cuenta

  • Una sola instancia más grandeStreamlit guarda el estado de cada sesión en la memoria del proceso que la atiende. Con varias instancias, un navegador que se reconecta puede acabar en otra y empezar de cero, así que una sola instancia más grande suele ser la opción más sencilla.
  • Archivos y cachésst.cache_data y los archivos escritos en runtime viven en la instancia y desaparecen tras el siguiente despliegue o tras la sustitución diaria por una instancia nueva. Guarda los datos que necesites en una base de datos, un bucket o un volumen.

Lo que Nodion gestiona por ti

  • Despliegues sin downtime Haz push a tu rama y Nodion construye una nueva release. El tráfico pasa a las nuevas instancias cuando superan el health check; si una release falla, la que está en marcha sigue activa. En cambio, las apps con un volumen local se reinician porque el disco pertenece a una sola instancia.
  • Bases de datos junto a la app PostgreSQL, pgvector, MySQL, Valkey y ClickHouse gestionados en la misma región. Al vincular una base de datos, sus datos de conexión llegan como DATABASE_URL, REDIS_URL o CLICKHOUSE_URL.
  • Previews por pull request Activa las previews: cada pull request de tu repositorio tendrá su propia app, con URL y bases de datos nuevas y vacías. Puedes crearla automáticamente o a mano. Se omiten las pull requests de forks y bots.
  • Workers, cron jobs y escalado Ejecuta workers como procesos adicionales de la misma app, programa tareas en la pestaña Cron y escala cada proceso hasta 16 instancias.
  • Paso de release Con buildpacks, una línea 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.
  • Logs y métricas Logs de build, release y runtime, además de métricas de CPU, memoria, disco y red de cada instancia, en el dashboard.
  • Dominios y HTTPS Un nombre de host predeterminado con HTTPS desde el primer despliegue; tus propios dominios reciben certificados automáticamente.

Para seguir leyendo

Streamlit en Nodion: preguntas y respuestas

¿Nodion detecta las apps Streamlit?

No. El buildpack de Python instala tus dependencias, y la línea web: de tu Procfile arranca streamlit run. Sin esa línea, la app nunca llega a estar lista.

¿Puedo desplegar una app Gradio de la misma forma?

Sí, con web: python app.py en un Procfile y demo.launch(server_name="0.0.0.0", server_port=int(os.environ["PORT"])) en tu script. Mantén la línea explícita: Gradio depende de FastAPI, y un lockfile que lo incluya activaría el comando por defecto de FastAPI.

¿Cuánta memoria necesita una app Streamlit?

Depende de tus datos. El recuadro de costes empieza en 1 GB, suficiente para muchos dashboards basados en pandas; el panel muestra la memoria por instancia, y puedes cambiar el tamaño del proceso web siempre que lo necesites.

¿Dónde se ejecuta mi app de Streamlit?

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.

¿Puedo usar Streamlit conforme al RGPD?

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.

¿Cuánto cuesta ejecutar Streamlit en Nodion?

Una instancia de app cuesta desde 1 EUR al mes. La configuración del recuadro de costes cuesta 4 EUR al mes: App 4 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.

¿Puedo usar mi propio dominio para mi app de Streamlit?

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.

Dale a tu agente un cloud.

Hasta 15 € de crédito al registrarte.

Continuar con GitHub

o con tu email

Mantente al día.

Novedades del producto, sin spam. Puedes darte de baja cuando quieras.