Projetos & Deploy

Docker e Docker Compose

Todo projeto escolhe um modo de build na criação: Docker (um único container, buildado por Nixpacks ou pelo seu Dockerfile) ou Compose (seu próprio docker-compose.yml).

Os dois modos

Modo Docker
Um único container por deployBuild automático via Nixpacks se não houver DockerfileUsa seu Dockerfile automaticamente se ele existir no repositórioCada deploy gera uma imagem versionada — habilita rollback sem rebuild
Modo Compose
Sobe todos os serviços definidos no seu docker-compose.ymlIdeal para apps com múltiplos processos (worker + API, por exemplo)Você controla build e runtime diretamente no arquivo do repositórioMais flexível, porém sem a mesma granularidade de rollback do modo Docker

Nixpacks vs. Dockerfile

No modo Docker, o painel verifica se existe um Dockerfile na raiz do repositório. Se existir, ele é usado para o build. Se não, o Nixpacks entra em ação: ele analisa os arquivos do projeto (package.json, requirements.txt, go.mod, e assim por diante), detecta a linguagem e monta a imagem sozinho — sem você escrever uma única linha de Dockerfile.

Node.js, Python, Go, Rust, Ruby, PHP, Java e outras linguagens são detectadas automaticamente.Se o seu projeto já tem um Dockerfile, ele sempre tem prioridade sobre a detecção automática.Quer usar Nixpacks mesmo tendo um Dockerfile no repo? É só trocar o modo de build nas configurações do projeto.
Atenção
No modo Compose, a porta do container definida no formulário do projeto é informativa para o roteamento — os serviços internos ainda seguem o que está declarado em docker-compose.yml.