Deploy em produção na Zenifra
Este guia reúne o caminho recomendado para sair de uma conta nova até uma aplicação validada em produção. Use-o quando quiser conectar deploy, banco, observabilidade, domínio e cobrança em um único fluxo.
Pré-requisitos
- conta ativa na Zenifra
- crédito disponível (inclusive o crédito promocional para novos usuários, enquanto a promoção estiver disponível) ou cartão configurado para cobrança automática; o plano Free não exige crédito
- repositório GitHub ou Forgejo, ou imagem OCI pronta para publicação
- comando de inicialização conhecido, como
npm start,uvicorn main:app --host 0.0.0.0 --port 8000ou equivalente - porta HTTP em que a aplicação realmente escuta
Importante: a Zenifra roteia tráfego para a porta configurada no projeto. A aplicação precisa escutar nessa mesma porta.
Passo 1: preparar a aplicação
Antes de criar o projeto, confirme localmente que a aplicação sobe sem depender de arquivos ausentes.
Para Node.js, prefira ler a porta por variável de ambiente:
const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0');Para Python com FastAPI, use um comando de start explícito:
uvicorn main:app --host 0.0.0.0 --port 8000Se a aplicação usa banco, fila ou serviços externos, liste as variáveis necessárias antes do deploy. Não coloque senhas, tokens ou chaves no repositório.
Passo 2: escolher repositório Git ou imagem OCI
Use Repositório Git (GitHub ou Forgejo) quando quiser que a Zenifra faça o fluxo de build a partir do código-fonte. Esse caminho é ideal para aplicações que recebem mudanças frequentes e podem se beneficiar do modo Automático por branch.
Use Imagem OCI quando você já possui uma imagem pronta, gerada por CI externa, ou quando deseja controlar o artefato de produção por tag.
| Origem | Melhor para | Atenção |
|---|---|---|
| Repositório Git | Times que publicam a partir do código-fonte | repositório, branch, configurações de build e modo de deploy podem ser alterados depois |
| Imagem OCI | Pipelines que já geram imagem Docker | use tags imutáveis para rastrear versões |
Passo 3: criar o projeto HTTP
No console, clique em Criar projeto e preencha:
- organização onde o projeto será criado
- origem do projeto
- runtime ou imagem
- porta HTTP
- comandos
pre-build,buildestart, quando a origem for um repositório Git - variáveis de ambiente
- plano, instâncias e armazenamento conforme a necessidade
Depois da criação, abra a URL *.clients.zenifra.com e valide uma rota simples, como / ou /health.
Passo 4: conectar banco de dados
Se a aplicação usa PostgreSQL, MariaDB, Analytics (ClickHouse) ou Valkey (Chave-Valor, Cache e Filas), crie o serviço gerenciado e copie os dados de conexão no console. As conexões exigem TLS.
A Zenifra não injeta automaticamente DATABASE_URL no projeto HTTP. O fluxo correto é:
- criar o banco
- copiar a URI completa no console
- configurar manualmente
DATABASE_URLno projeto HTTP - reiniciar ou redeployar a aplicação se necessário
- validar a conexão pelos logs e por uma rota da aplicação
Para detalhes de engine, réplicas, storage e failover, consulte Banco de Dados.
Backup: os bancos gerenciados têm backup automático incluído no plano, com restauração pelo suporte (veja Backups automáticos). Antes de ir para produção, mantenha também uma rotina própria de dumps ou exports (por exemplo,
pg_dumpoumysqldump) como camada extra e teste a restauração.
Passo 5: validar logs, métricas e versão
Depois do deploy, verifique:
- logs da aplicação
- logs de build, quando houver
- CPU, RAM e armazenamento
- quantidade de requisições HTTP recebidas pela aplicação
- variável
ZENIFRA_INSTANCE_VERSION, quando usada pelo seu código
Os logs da aplicação estão disponíveis em todos os planos; as métricas, a partir do plano Premium. Os logs são lidos ao vivo das instâncias, sem histórico retido; envie para um serviço próprio o que precisar guardar. Para detalhes, consulte Observabilidade.
Em projetos Git, abra Logs de build na página do projeto para acompanhar instalação de dependências, pre-build, build e publish. Use os logs da aplicação separadamente para investigar falhas depois do start.
Passo 6: configurar domínio e acesso
Todo projeto recebe uma URL da Zenifra. Para produção, normalmente você também configura um domínio próprio.
Antes de apontar tráfego real:
- configure DNS no provedor do domínio
- valide a propagação
- mantenha a URL da Zenifra como fallback operacional
- revise whitelist e blacklist de IP quando o projeto for administrativo ou interno (a partir do plano Premium Plus)
Passo 7: validar o modo de deploy
Se Automático por branch estiver selecionado, faça uma alteração pequena na branch configurada e envie um novo push. Para validar as opções por tag e release, siga o guia de Implantação via GitHub ou Implantação via Forgejo.
Valide:
- novo build iniciado
- logs de build sem erro
- aplicação respondendo na URL pública
- versão nova visível nos logs ou em uma rota de diagnóstico
Nos modos Manual, Por Tag e Por Release, um push na branch não inicia uma atualização automática.
Passo 8: acompanhar cobrança
Antes de manter o projeto em produção, revise:
- modalidade de cobrança do projeto
- crédito disponível
- cartão como fallback de cobrança, quando configurado
- custo de banco e storage persistente
- consumo de IA, se a aplicação usa modelos da Zenifra
Para regras de crédito, mensalidade, anualidade e uso por hora, consulte Modelos de Pagamento.
Próximos passos
- Checklist antes de ir para produção
- Deploy via GitHub
- Deploy via imagem OCI
- Segurança, privacidade e confiabilidade
- Limites e quotas
FAQ
Posso usar a Zenifra em produção?
Sim. Use este guia junto com os documentos de deploy, banco, observabilidade, segurança e limites para validar se o plano e a configuração atendem ao seu cenário.
Preciso configurar DATABASE_URL manualmente?
Sim. Bancos gerenciados mostram os dados de conexão no console, mas o projeto HTTP precisa receber DATABASE_URL manualmente como variável de ambiente.
Como sei que o deploy novo entrou no ar?
Use logs, métricas, a URL pública e uma identificação de versão, como ZENIFRA_INSTANCE_VERSION ou uma rota /health que exponha a versão da aplicação.
Última atualização em
Observabilidade
Monitore projetos na Zenifra com logs em todos os planos e métricas de recursos, snapshots de bancos e volume HTTP conforme o plano.
Checklist antes de ir para produção
Lista prática para revisar deploy, configuração, segurança, banco, observabilidade e cobrança antes de publicar em produção.