Guía de despliegue Fráncfort, Alemania

Despliega Docker Compose en Nodion

Nodion puede leer un docker-compose.yml una vez, al crear la app: las bases de datos y las cachés se convierten en servicios gestionados, y los demás servicios, en procesos de una sola app. La importación es experimental, así que revisa el plan antes de crear la app. Después, todo se ejecuta en Fráncfort.

Desplegar en Nodion ›

desde 1 EUR / mes

Hasta 15 € de crédito de bienvenida al registrarte

Lee
docker-compose.yml o compose.yml, una vez al crear la app
Crea
Una app con procesos, bases de datos gestionadas
Estado
Experimental
Región
EU Central (Fráncfort)

Despliega Docker Compose paso a paso

  1. Revisa tu archivo Compose Nodion lee docker-compose.yml, docker-compose.yaml, compose.yml o compose.yaml, y toma el que está más cerca de la raíz del repositorio. Necesita al menos un servicio de app además de las bases de datos y cachés; un archivo que solo tenga bases de datos y cachés se ignora. docker-compose.yml
    services:
      web:
        build: .
        environment:
          DATABASE_URL: postgres://app:app@db:5432/app
          REDIS_URL: redis://cache:6379
      db:
        image: postgres:17
      cache:
        image: valkey/valkey:8
  2. Elige Docker Compose al crear la app Crea una aplicación desde tu repositorio en la región EU Central. Cuando el análisis encuentra un archivo Compose utilizable, aparece la opción Docker Compose; nunca está preseleccionada. Elígela y revisa el plan: antes de crear la app, todavía puedes elegir el tamaño y las instancias de cada proceso y ajustar el tamaño de los volúmenes.
  3. Mira qué se convierte en servicio gestionado Nodion se guía por el nombre de la imagen: postgres y postgis pasan a ser Managed PostgreSQL, pgvector pasa a ser pgvector, redis y valkey pasan a ser Valkey, mysql y mariadb pasan a ser MySQL, clickhouse pasa a ser ClickHouse y minio pasa a ser un bucket. Cualquier otro servicio ejecuta su imagen como proceso de esa única app. El tag de la imagen no determina la versión de la base de datos, y los usuarios y contraseñas los pone Nodion. Managed PostgreSQL no tiene la extensión PostGIS, así que una app que necesite PostGIS pierde sus funciones espaciales tras la importación; deja una base de datos así fuera del archivo Compose.
  4. Revisa las variables de conexión Una variable del servicio de app que apunta a otro servicio por su nombre, como @db:5432 en el ejemplo de arriba, se convierte en un vínculo: Nodion inserta la dirección real en el despliegue. Si no, las bases de datos llegan como DATABASE_URL y Valkey como REDIS_URL. Del resto de variables, solo se copian las del servicio de app principal, y los valores que parecen secretos se marcan como secretos.
  5. A partir de ahí, gestiona la app en el dashboard El primer despliegue espera a que las bases de datos estén listas. Después, el archivo Compose ya no se lee: cada push construye la app con la estrategia Dockerfile o Buildpacks que se encuentre en el mismo repositorio, y cambias los procesos, las variables y los tamaños en el dashboard.

A tener en cuenta

  • Experimental y puntualLa importación es un atajo para la primera configuración, no un runtime de Compose. Si tu archivo no se traslada bien, monta la misma configuración a mano: una app, una base de datos vinculada en la pestaña Environment y procesos adicionales en la pestaña Processes.
  • Qué ignora NodionLas redes, los perfiles, los healthchecks de Compose, depends_on como orden de arranque, deploy.replicas, los bind mounts y los volúmenes anónimos. Un segundo servicio con su propio build: comparte la imagen de la única app.
  • VolúmenesLos volúmenes con nombre se convierten en volúmenes de Nodion, de 5 GB por defecto y editables en el plan, montados en los procesos que los usan.

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

Docker Compose en Nodion: preguntas y respuestas

¿Nodion ejecuta docker compose up?

No. Nodion lee el archivo una vez, al crear la app, y lo convierte en una sola app con procesos, bases de datos gestionadas y volúmenes. No mantiene en marcha un proyecto Compose, no aplica las redes ni vuelve a leer el archivo.

¿Los cambios en mi archivo Compose se aplican en el siguiente despliegue?

No. Después de crearla, gestionas la app en el dashboard: añade ahí un proceso, una variable o una base de datos. Editar el archivo Compose en Git no cambia nada.

¿Qué pasa con MongoDB u otros servicios sin versión gestionada?

Ejecutan su imagen como proceso de la app. Nodion no tiene MongoDB gestionado, así que de ese servicio y de sus datos te encargas tú.

¿Qué versión de base de datos obtengo?

La versión por defecto actual de Nodion para ese motor, no la versión del tag de tu imagen. Si necesitas una versión concreta, deja la base de datos fuera del archivo Compose, créala en el dashboard y vincúlala a la app.

¿Dónde se ejecuta mi app de Docker Compose?

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 Docker Compose 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 Docker Compose en Nodion?

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.

¿Puedo usar mi propio dominio para mi app de Docker Compose?

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.