Guias por framework

Guias por framework

Cada framework tem um jeito próprio de compilar, iniciar e escutar conexões. Esta seção reúne configurações de referência para os frameworks mais usados, com os valores exatos que você preenche no console da Zenifra.

Como escolher o caminho

A Zenifra publica aplicações de duas formas:

CaminhoQuando usarLinguagens
Repositório Git (GitHub ou Forgejo)Você quer que a Zenifra instale dependências, faça a build e publique a cada mudançaNode.js, Python e Bun
Imagem OCISua aplicação usa outra linguagem ou você já gera uma imagem Docker no CIQualquer linguagem que rode em container

Regra prática

Se o projeto é Node.js, Python ou Bun, comece pelo Repositório Git: não há Dockerfile para manter. Para Go, Java, PHP, .NET, Ruby, Rust ou sites estáticos servidos por NGINX, use Imagem OCI com um dos Dockerfiles prontos do guia de Dockerfile.

Tabela de referência rápida

FrameworkCaminhoPorta sugeridaBuildStart
Next.jsGit · Node.js3000npm run buildnpx next start -H 0.0.0.0 -p 3000
Express / FastifyGit · Node.js3000vazio ou npm run buildnode index.js
NestJSGit · Node.js3000npm run buildnode dist/main.js
Vite, React, Vue, Astro estáticoGit · Node.js ou OCI3000 / 80npm run buildnpx serve -s dist -l tcp://0.0.0.0:3000
FastAPIGit · Python8000vaziouvicorn main:app --host 0.0.0.0 --port 8000
FlaskGit · Python8000vaziogunicorn app:app --bind 0.0.0.0:8000
DjangoGit · Python8000python manage.py collectstatic --noinputgunicorn config.wsgi --bind 0.0.0.0:8000
GoOCI8080no Dockerfilebinário da imagem
Spring BootOCI8080no Dockerfilejava -jar app.jar
LaravelOCI8080no Dockerfileservidor da imagem
ASP.NET CoreOCI8080no Dockerfiledotnet App.dll

A porta da tabela é uma sugestão. O que importa é que o campo Porta do projeto seja igual à porta em que a aplicação escuta.

As três regras que evitam a maioria dos problemas

1. Escute em 0.0.0.0

A aplicação precisa aceitar conexões de fora do container. Servidores que escutam só em localhost ou 127.0.0.1 sobem sem erro, mas nunca recebem tráfego.

2. Use a porta configurada no projeto

A Zenifra encaminha o tráfego para a porta informada no campo Porta. Se a aplicação escuta em 3000 e o projeto está configurado com 8080, a URL pública não responde. Fixar a porta no comando start deixa a configuração explícita e fácil de revisar.

3. Configure tudo por variáveis de ambiente

URLs de banco, chaves de API e segredos ficam em variáveis de ambiente, nunca no código. Em projetos Git, as variáveis do projeto também ficam disponíveis durante a instalação, o pre-build e a build.

O que acontece numa publicação Git

Instalação de dependências: npm ci (Node.js), bun install --frozen-lockfile (Bun) ou pip install -r requirements.txt (Python, quando o arquivo existe).

pre-build (opcional): preparações, como gerar clientes de ORM.

build (opcional): compilação, como npm run build ou collectstatic.

start (obrigatório): o processo que fica rodando e atende as requisições.

Detalhes de versões e comportamento de cada runtime estão em Runtimes.

Seu framework não está na lista?

  • Node.js, Python ou Bun: siga o guia mais próximo. A estrutura é sempre a mesma: dependências, build opcional e um comando que escuta em 0.0.0.0 na porta do projeto.
  • Outra linguagem: escreva um Dockerfile seguindo os requisitos do guia de Dockerfile e publique como Imagem OCI.
  • Aplicação pronta (n8n, Metabase, WordPress): use um Template.

Próximos passos

Última atualização em

Nessa página