Deploy via imagem OCI
Use imagem OCI quando sua aplicação já é empacotada fora da Zenifra. Esse fluxo é indicado para pipelines de CI que constroem a imagem, publicam em um registry e promovem versões por tag.
Quando escolher OCI
Escolha OCI quando:
- sua equipe já usa Docker em produção
- a imagem é gerada por GitHub Actions, GitLab CI, Jenkins ou outro pipeline
- você quer promover tags específicas entre ambientes
- o build precisa de etapas que não devem rodar dentro da Zenifra
- a aplicação precisa manter o mesmo artefato em diferentes plataformas
Para projetos que evoluem diretamente por código-fonte, veja Implantação via GitHub.
Requisitos da imagem
A imagem precisa:
- expor um processo HTTP de longa duração
- escutar em
0.0.0.0 - usar a porta configurada no projeto Zenifra
- receber configuração por variáveis de ambiente
- iniciar sem depender de arquivos locais fora da imagem ou do volume configurado
Evite tags genéricas como latest em produção. Prefira tags como 1.4.2, 2026-05-16 ou o SHA do commit.
Imagens de uso exclusivo da Zenifra não podem ser usadas em projetos de clientes. A criação do projeto, a troca de imagem e os Ambientes de Preview recusam essas referências com 422 (IMAGE_NOT_ALLOWED, mensagem This image cannot be used); use uma imagem própria ou pública.
Imagens oficiais funcionam sem ajustes, inclusive as que rodam como root e escutam em portas baixas, como 80. Para NGINX, por exemplo:
docker.io/nginx:alpineNesse caso, configure a porta do projeto como 80, que é a porta exposta pela imagem, salvo se você tiver alterado a configuração da imagem.
Criar o projeto
No console:
- clique em Criar projeto no menu lateral
- em Origem do Projeto, escolha Imagem Docker
- informe a imagem, por exemplo
ghcr.io/acme/api:1.4.2 - em Imagem Pública, escolha Sim ou, para imagem privada, Não e preencha o Tipo de Autenticação
- configure a porta da aplicação
- adicione variáveis de ambiente
- escolha plano, instâncias e storage
- crie o projeto e acompanhe os logs

Atualizar a imagem
Para publicar uma nova versão:
- gere uma nova imagem no seu pipeline
- publique a tag no registry
- altere a imagem do projeto no console, pela CLI (
zenifra project image set --project <id> --image <imagem>), pela API ou pela GitHub Action - valide os logs, a URL pública e, nos planos com métricas, o consumo
Se a imagem for privada, mantenha o mesmo tipo de autenticação definido na criação. Para detalhes, consulte Registry privado.
Validação
Depois da publicação, confirme:
- a URL
*.clients.zenifra.comresponde - a rota
/healthretorna sucesso, se existir - logs não mostram erro de inicialização
- CPU, RAM, storage e requisições HTTP aparecem nas métricas, disponíveis a partir do plano Premium
DATABASE_URLe demais variáveis foram configuradas manualmente
Próximos passos
FAQ
Posso transformar um projeto OCI em GitHub depois?
Sim. Na página do projeto, a seção Repositório Git conecta um repositório GitHub ou Forgejo a um projeto criado com imagem. Salvar a conexão não publica uma nova versão: as próximas passam a ser construídas a partir do código, conforme a forma de atualização escolhida. Veja Implantação via GitHub e Deploy a partir do Forgejo.
Posso usar imagem privada?
Sim. A Zenifra aceita autenticação por AWS ECR ou por usuário e token/senha de registry.
Devo usar latest?
Evite em produção. Tags imutáveis deixam rollback, auditoria e suporte mais previsíveis.
Minha imagem roda como root ou escuta na porta 80. Funciona?
Sim. Imagens que rodam como root e escutam em portas baixas, como docker.io/nginx:alpine na porta 80, funcionam normalmente. Basta configurar o campo Porta do projeto com a porta exposta pela imagem.
Última atualização em