Deploy no Coolify
Guia completo para deploy em produção usando Coolify.
Pré-requisitos
- Servidor com Coolify instalado
- Domínio configurado (ex:
api.suaclinica.com.br,app.suaclinica.com.br) - Repositório Git (GitHub/GitLab)
Passo 1: Conectar Repositório
Repositório Público
- No Coolify → + New Resource → Public Repository
- Cole a URL HTTPS:
https://github.com/seu-usuario/django-nuxt-clinic.git - Selecione branch:
main
Repositório Privado
- No Coolify → Settings → Keys & Tokens
- Clique + Add → Gere uma Deploy Key
- Copie a chave pública
- No GitHub → Repositório → Settings → Deploy Keys → Add
- Cole a chave e marque Allow write access
- Volte ao Coolify e adicione o repositório
Passo 2: Configurar Build
| Campo | Valor |
|---|---|
| Build Pack | Docker Compose |
| Docker Compose Location | docker-compose.prod.yml |
| Branch | main |
Passo 3: Variáveis de Ambiente
No Coolify, vá em Environment Variables e adicione:
Obrigatórias
# Segurança (gere uma chave forte)
SECRET_KEY=sua-chave-secreta-muito-longa-e-aleatoria-123456
# Banco de dados
POSTGRES_PASSWORD=senha-forte-banco-123
POSTGRES_USER=postgres
POSTGRES_DB=myclinic
# Hosts (seus domínios)
ALLOWED_HOSTS=api.suaclinica.com.br,backend
CORS_ORIGINS=https://app.suaclinica.com.br
# API URL para o frontend
NUXT_PUBLIC_API_URL=https://api.suaclinica.com.br
Gerar SECRET_KEY
Passo 4: Configurar Domínios
No Coolify, configure os domínios para cada serviço:
Backend
- Clique no serviço
backend - Domains → Adicione:
api.suaclinica.com.br - Port:
8000 - Ative SSL/HTTPS
Frontend
- Clique no serviço
frontend - Domains → Adicione:
app.suaclinica.com.br - Port:
3000 - Ative SSL/HTTPS
Passo 5: Deploy
- Clique em Deploy
- Acompanhe os logs de build
- Aguarde todos os serviços ficarem Running
Passo 6: Primeiro Acesso
Rodar Migrações
Criar Superusuário
Criar Dados Iniciais (opcional)
Estrutura de Produção
graph LR
subgraph Internet
U[Usuários]
end
subgraph Coolify
T[Traefik/Caddy]
subgraph Docker
F[Frontend:3000]
B[Backend:8000]
DB[(PostgreSQL)]
end
end
U -->|app.suaclinica.com.br| T
U -->|api.suaclinica.com.br| T
T -->|HTTPS| F
T -->|HTTPS| B
B --> DB
F -->|API calls| B
Troubleshooting
Build falhou
Erro: Please load a Compose file
- Verifique se o campo Docker Compose Location está correto:
docker-compose.prod.yml - Faça Reload Repository no Coolify
502 Bad Gateway
- Verifique se o container está rodando:
docker ps - Cheque os logs:
docker logs <container> - Confirme que a porta está correta no Coolify
CORS Error
- Verifique
CORS_ORIGINSinclui o domínio do frontend - Formato correto:
https://app.suaclinica.com.br(com https, sem barra final)
Erro de Banco de Dados
# Verificar conexão
docker exec -it <container-backend> python manage.py dbshell
# Re-rodar migrações
docker exec -it <container-backend> python manage.py migrate
Webhooks para Deploy Automático
- No Coolify → Aplicação → Webhooks
- Copie a URL do webhook
- No GitHub → Settings → Webhooks → Add webhook
- Cole a URL
- Content type:
application/json - Events:
Just the push event
Agora, cada git push dispara deploy automático! 🚀
Backup do Banco
Criar backup
Restaurar backup
Checklist de Produção
- [x] SECRET_KEY forte e única
- [x] DEBUG=False
- [x] ALLOWED_HOSTS configurado
- [x] CORS_ORIGINS configurado
- [x] HTTPS ativado
- [x] Senha forte no PostgreSQL
- [x] Backup configurado
- [x] Monitoramento de logs