diff --git a/Caddyfile b/Caddyfile index 28c6635..ee84c88 100644 --- a/Caddyfile +++ b/Caddyfile @@ -1,4 +1,4 @@ -{$DOMAIN} { +{$DOMAIN:linegestao.inglinesystems.com.br} { encode zstd gzip reverse_proxy api:8080 diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md index df6bf9b..6130932 100644 --- a/DEPLOYMENT.md +++ b/DEPLOYMENT.md @@ -113,6 +113,30 @@ Resultado esperado: > Importante: no primeiro boot o Caddy pode levar alguns segundos para obter o certificado. Se falhar, confira se DNS já propagou e se as portas 80/443 estão acessíveis. + +### Erro comum: `DOMAIN is required` + +Se aparecer este erro ao subir `docker-compose.domain.yml`, o `.env` da API está sem a variável `DOMAIN`. + +Corrija assim no servidor: + +```bash +cd ~/apps/line-gestao-api +cp -n .env.example .env + +# confirme variáveis mínimas +grep -E '^(DOMAIN|ACME_EMAIL|FRONTEND_PUBLIC_URL|JWT_KEY|POSTGRES_PASSWORD)=' .env + +# se DOMAIN não aparecer, adicione +echo 'DOMAIN=linegestao.inglinesystems.com.br' >> .env +``` + +Depois suba novamente: + +```bash +docker compose -f docker-compose.domain.yml up -d --build --remove-orphans +``` + Comandos úteis de diagnóstico: ```bash @@ -352,3 +376,36 @@ docker exec -t pg_dump -U > backup.sql ```bash docker compose logs -f --tail=200 ``` + + +## 5.3) Front-end + Back-end no mesmo servidor (com domínio) + +Sim, é possível e esse é o fluxo recomendado quando os repositórios estão em pastas irmãs. + +1. Build do front: + +```bash +cd ~/apps/line-gestao-frontend + +git fetch --all --prune +git pull --ff-only origin + +cat > .env.production << 'EOF' +VITE_API_URL=https://linegestao.inglinesystems.com.br +EOF + +npm ci +npm run build +``` + +2. Subir API + Caddy com HTTPS: + +```bash +cd ~/apps/line-gestao-api +docker compose -f docker-compose.domain.yml up -d --build --remove-orphans +``` + +3. Testar no navegador: +- Front: `https://linegestao.inglinesystems.com.br` +- API health: `https://linegestao.inglinesystems.com.br/health` + diff --git a/docker-compose.domain.yml b/docker-compose.domain.yml index 25583bd..a1e55aa 100644 --- a/docker-compose.domain.yml +++ b/docker-compose.domain.yml @@ -48,7 +48,7 @@ services: api: condition: service_started environment: - DOMAIN: ${DOMAIN:?DOMAIN is required} + DOMAIN: ${DOMAIN:-linegestao.inglinesystems.com.br} ACME_AGREE: "true" EMAIL: ${ACME_EMAIL:-} ports: