Passos
Escrever docker-compose.yml
Template mínimo:Não exponha portas no host, a menos que seja absolutamente necessário (NPM é a exceção).
Criar .env.example
Liste as variáveis com placeholders vazios. Ex.:Se for um campo que o
bootstrap.sh deve preencher automaticamente com senha gerada, adicione o bloco correspondente em bootstrap.sh:Expor via NPM (se tiver UI web)
Na UI do NPM (
:81), criar Proxy Host:- Domain:
<servico>.example.com - Forward:
<servico>:<porta-interna> - SSL: Let’s Encrypt + Force SSL
Checklist
- Pasta
infra/<servico>/criada -
docker-compose.ymlusaserver_netexternal, nome do container fixo, restart unless-stopped, sem portas expostas (salvo exceção) -
.env.exampleversionado com todos os campos necessários -
bootstrap.shatualizado se houver senha a gerar - Bind mount em
./data/para persistência - Se o container roda como user não-root e não faz self-chown do volume (caso do n8n com UID 1000), adicionar bloco no
bootstrap.shque fazdocker run --rm -v $(pwd)/<servico>/data:/data alpine chown -R <UID>:<GID> /data - Proxy Host configurado no NPM (se aplicável)
- Página
docs/infra/<servico>.mdxcriada e adicionada emdocs.json