Framework Fráncfort, Alemania

Despliega Astro en Nodion

Nodion reconoce Astro por astro en el package.json y ejecuta tu build con su buildpack de Node.js. Por defecto sirve dist/ como sitio estático; cuando tu configuración define output: 'server', arranca en su lugar el servidor Node.js con node ./dist/server/entry.mjs. En ambos casos, tu sitio se ejecuta en Fráncfort.

Desplegar en Nodion ›

desde 1 EUR / mes

Hasta 15 € de crédito de bienvenida al registrarte

Detectado por
astro en package.json
Arranque
archivos estáticos desde dist/, o node ./dist/server/entry.mjs
Node.js
22, 24 (por defecto), 26
Región
EU Central (Fráncfort)

Despliega Astro paso a paso

  1. Haz commit del lockfile y compila Haz commit de tu lockfile; sin él, la build falla. Nodion ejecuta tu script build y sirve dist/ con un servidor web estático. No se ejecuta ningún servidor Node.js, así que un sitio Astro estático no necesita adapter. package.json
    "scripts": {
      "dev": "astro dev",
      "build": "astro build"
    }
  2. Marca las variables de build Una build estática lee todas sus variables durante astro build, así que marca Build en cada una de ellas en la pestaña Environment. En modo servidor, lo mismo vale para las variables PUBLIC_*, que acaban en el código del navegador.
  3. Para SSR: añade el adapter de Node Ejecuta npx astro add node o instala tú mismo @astrojs/node, úsalo en modo standalone y define output: 'server' (o 'hybrid' en Astro 4). Nodion solo arranca un servidor cuando astro.config.mjs, .js o .ts contiene ese ajuste; no lee astro.config.mts. Deja astro y @astrojs/node en dependencies, porque las dependencias de desarrollo se eliminan después de la build. astro.config.mjs
    import { defineConfig } from "astro/config";
    import node from "@astrojs/node";
    
    export default defineConfig({
      output: "server",
      adapter: node({ mode: "standalone" }),
    });
  4. Haz que el servidor escuche en todas las interfaces El servidor standalone lee PORT, que define Nodion, y HOST. Define HOST como 0.0.0.0 en la pestaña Environment para que el servidor acepte conexiones desde fuera de la instancia, incluido el health check. Nodion arranca node ./dist/server/entry.mjs salvo que el package.json tenga un script start; si el tuyo ejecuta astro dev, quítalo.
  5. Crea la app y haz push En el dashboard, crea una aplicación desde tu repositorio de GitHub, GitLab, Bitbucket o Gitea en la región EU Central. Cada push genera una nueva release, y el tráfico pasa a ella en cuanto / responde con un estado 2xx o 3xx.

A tener en cuenta

  • Las páginas bajo demanda necesitan output: 'server'Nodion decide según el ajuste output, no según el adapter. Un proyecto que mantiene la salida estática por defecto y renderiza páginas sueltas bajo demanda con export const prerender = false no se ejecuta como servidor. Define en su lugar output: 'server' y marca las páginas que deben seguir siendo estáticas con export const prerender = true.
  • Tu página 404Para las rutas que no existen, el servidor estático responde con tu index.html. Para mostrar en su lugar la página que Astro genera a partir de src/pages/404.astro, añade un static.toml con fallback = "404.html". Hazlo solo con salida estática: con un static.toml, Nodion siempre sirve el proyecto como archivos estáticos.

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

Astro en Nodion: preguntas y respuestas

¿Nodion ejecuta Astro como sitio estático o como servidor?

Por defecto, como sitio estático servido desde dist/. Con output: 'server' en astro.config.mjs, .js o .ts, Nodion ejecuta el servidor Node.js que genera @astrojs/node.

¿Qué adapter necesito para el SSR de Astro en Nodion?

@astrojs/node con mode: 'standalone'. Genera un servidor que Nodion arranca con node ./dist/server/entry.mjs; define HOST como 0.0.0.0 para que acepte conexiones externas.

¿Por qué mi app Astro SSR se sirve como archivos estáticos?

Nodion solo busca output: 'server' (o 'hybrid') escrito en astro.config.mjs, astro.config.js o astro.config.ts. Una configuración en astro.config.mts, un valor de output leído de una variable o un static.toml en el proyecto hacen que siga siendo estático.

¿Dónde se ejecuta mi app de Astro?

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 Astro 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 Astro en Nodion?

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.

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

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.