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 testadas 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 GitHubVocê quer que a Zenifra instale dependências, faça a build e publique a cada mudançaNode.js e Python
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 ou Python, comece pelo Repositório GitHub: 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.jsGitHub · Node.js3000npm run buildnpx next start -H 0.0.0.0 -p 3000
Express / FastifyGitHub · Node.js3000vazio ou npm run buildnode index.js
NestJSGitHub · Node.js3000npm run buildnode dist/main.js
Vite, React, Vue, Astro estáticoGitHub · Node.js ou OCI3000 / 80npm run buildnpx serve -s dist -l tcp://0.0.0.0:3000
FastAPIGitHub · Python8000vaziouvicorn main:app --host 0.0.0.0 --port 8000
FlaskGitHub · Python8000vaziogunicorn app:app --bind 0.0.0.0:8000
DjangoGitHub · 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 90% 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 GitHub, 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 GitHub

Instalação de dependências: npm ci (Node.js) ou pip install -r requirements.txt (Python).

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 ou Python: 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