Framework Frankfurt, Alemanha

Faça deploy de Astro na Nodion

A Nodion reconhece o Astro pela presença de astro no package.json e executa o seu build com o buildpack de Node.js. Por omissão, serve dist/ como site estático; quando a sua configuração define output: 'server', inicia antes o servidor Node.js com node ./dist/server/entry.mjs. Em ambos os casos, o seu site é executado em Frankfurt.

Fazer deploy na Nodion ›

a partir de 1 EUR / mês

Até 15 € de crédito de boas-vindas no registo

Detetado por
astro no package.json
Arranque
ficheiros estáticos de dist/, ou node ./dist/server/entry.mjs
Node.js
22, 24 (por omissão), 26
Região
EU Central (Frankfurt)

Faça deploy de Astro passo a passo

  1. Faça commit do lockfile e faça o build Faça commit do seu lockfile; sem ele, o build falha. A Nodion executa o seu script build e serve dist/ com um servidor web estático. Não há nenhum servidor Node.js em execução, por isso um site Astro estático não precisa de adapter. package.json
    "scripts": {
      "dev": "astro dev",
      "build": "astro build"
    }
  2. Marque as variáveis de build Um build estático lê todas as variáveis durante astro build, por isso marque Build para cada uma no separador Environment. No modo servidor, o mesmo vale para as variáveis PUBLIC_*, que acabam no código executado pelo browser.
  3. Para SSR: adicione o adapter Node Execute npx astro add node ou instale manualmente @astrojs/node, use-o em modo standalone e defina output: 'server' (ou 'hybrid' no Astro 4). A Nodion só inicia um servidor quando astro.config.mjs, .js ou .ts contém essa definição; não lê astro.config.mts. Mantenha astro e @astrojs/node em dependencies, porque as dependências de desenvolvimento são removidas depois do build. astro.config.mjs
    import { defineConfig } from "astro/config";
    import node from "@astrojs/node";
    
    export default defineConfig({
      output: "server",
      adapter: node({ mode: "standalone" }),
    });
  4. Ponha o servidor a escutar em todas as interfaces O servidor standalone lê PORT, definida pela Nodion, e HOST. Defina HOST como 0.0.0.0 no separador Environment para que o servidor aceite ligações de fora da instância, incluindo o health check. A Nodion inicia node ./dist/server/entry.mjs, a menos que o package.json tenha um script start; se o seu script executar astro dev, remova-o.
  5. Crie a aplicação e faça push No dashboard, crie uma aplicação a partir do seu repositório GitHub, GitLab, Bitbucket ou Gitea na região EU Central. Cada push faz o build de uma nova release, e o tráfego passa para ela assim que / responde com um estado 2xx ou 3xx.

A ter em conta

  • As páginas on demand precisam de output: 'server'A Nodion decide com base na definição output, não no adapter. Um projeto que mantém o output estático predefinido e renderiza páginas individuais on demand com export const prerender = false não é executado como servidor. Defina antes output: 'server' e marque as páginas que devem continuar estáticas com export const prerender = true.
  • A sua página 404Para caminhos que não existem, o servidor estático responde com o seu index.html. Para mostrar em vez disso a página que o Astro gera a partir de src/pages/404.astro, adicione um static.toml com fallback = "404.html". Faça-o apenas com output estático: com um static.toml, a Nodion serve sempre o projeto como ficheiros estáticos.

O que a Nodion gere por si

  • Deploys sem downtime Faça push para o seu branch e a Nodion cria uma nova release. O tráfego só muda quando as novas instâncias passam no health check; se uma release falhar, a que está em execução mantém-se. Em vez disso, as aplicações com um volume local são reiniciadas, porque o disco pertence a uma única instância.
  • Bases de dados junto à aplicação PostgreSQL, pgvector, MySQL, Valkey e ClickHouse geridos, na mesma região. As bases de dados associadas chegam como DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL.
  • Pré-visualizações por pull request Ative as pré-visualizações e cada pull request do seu repositório passa a ter uma aplicação própria, com URL próprio e bases de dados novas e vazias, criada automática ou manualmente. Os forks e os pull requests de bots são ignorados.
  • Workers, cron jobs e escalabilidade Execute workers como processos adicionais da mesma aplicação, agende tarefas no separador Cron e escale cada processo até 16 instâncias.
  • Etapa de release Com buildpacks, uma linha release: do Procfile é executada a cada novo build. As aplicações com Dockerfile, bem como os redeploys ou rollbacks para uma imagem anterior, usam um comando de release definido na própria aplicação, que também tem prioridade sobre a linha do Procfile. Nos sites estáticos, a etapa de release é executada numa imagem que contém apenas os ficheiros gerados pelo build.
  • Logs e métricas Logs de build, release e runtime, além de métricas de CPU, memória, disco e rede de cada instância, no dashboard.
  • Domínios e HTTPS Um hostname atribuído por omissão com HTTPS desde o primeiro deploy; os seus próprios domínios recebem certificados automaticamente.

Para saber mais

Astro na Nodion: perguntas e respostas

A Nodion executa o Astro como site estático ou como servidor?

Por omissão, como site estático servido a partir de dist/. Com output: 'server' em astro.config.mjs, .js ou .ts, a Nodion executa o servidor Node.js gerado pelo @astrojs/node.

Que adapter é preciso para o SSR do Astro na Nodion?

@astrojs/node com mode: 'standalone'. Gera um servidor que a Nodion inicia com node ./dist/server/entry.mjs; defina HOST como 0.0.0.0 para que aceite ligações externas.

Porque é que a minha aplicação Astro SSR é servida como ficheiros estáticos?

A Nodion só procura output: 'server' (ou 'hybrid') escrito literalmente em astro.config.mjs, astro.config.js ou astro.config.ts. Uma configuração em astro.config.mts, um valor de output lido de uma variável ou um static.toml no projeto mantêm-na estática.

Onde corre a minha aplicação Astro?

Na região EU Central, em Frankfurt (Alemanha). O build, o registry, a aplicação e as respetivas bases de dados, volumes, buckets, logs e métricas ficam nessa região, e a API e o plano de controlo da Nodion estão alojados na Alemanha. A Nodion GmbH tem sede em Stuttgart.

Posso usar Astro em conformidade com o RGPD?

A Nodion cria as condições para isso: a Nodion GmbH tem sede em Stuttgart (Alemanha); na região de Frankfurt, a aplicação, as bases de dados e os volumes são executados na Alemanha. O acordo de tratamento de dados (DPA, art. 28.º do RGPD) é celebrado eletronicamente no dashboard. A conformidade da sua utilização depende também da forma como configura e utiliza a aplicação.

Quanto custa executar Astro na Nodion?

Uma instância da aplicação custa a partir de 1 EUR por mês. A configuração apresentada no quadro de custos custa 2 EUR por mês: Aplicação 2 EUR. Os preços não incluem IVA e a faturação é ao segundo. Pode escolher tamanhos maiores ou mais instâncias sempre que precisar.

Posso usar o meu próprio domínio na minha aplicação Astro?

Sim. Cada aplicação recebe um hostname atribuído por omissão com HTTPS. Adicione o seu próprio domínio no separador Domains da aplicação; o certificado TLS é emitido e renovado automaticamente.

Dê uma cloud ao seu agente.

Ganhe até 15 € de crédito ao registar-se.

Continuar com o GitHub

ou com e-mail

Fique a par das novidades.

Novidades do produto, sem spam. Pode cancelar a subscrição a qualquer momento.