diff --git a/DEPLOY.md b/DEPLOY.md index cdef371..1e36704 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -3,7 +3,7 @@ ## Erro: `no configuration file provided: not found` Esse erro acontece quando o `docker compose` é executado em uma pasta sem `docker-compose.yml`. -Este repositório agora inclui `docker-compose.yml` na raiz do projeto. +Este repositório inclui `docker-compose.yml` na raiz do projeto. ## Passo a passo @@ -39,6 +39,40 @@ docker compose logs -f --tail=200 curl -I http://SEU_SERVIDOR:4000/health ``` +## Checklist de confirmação (API realmente no ar) +Considere que o deploy está concluído quando **todos** os itens abaixo estiverem OK: + +```bash +docker compose ps +curl -i http://127.0.0.1:4000/health +curl -i http://SEU_IP_PUBLICO:4000/health +``` + +Resultado esperado: +- container `linegestao-api` com status `healthy`; +- container `linegestao-db` com status `healthy`; +- endpoint `/health` respondendo `HTTP/1.1 200 OK`. + +## Domínio (DNS + proxy reverso) +Com o compose atual, a API está disponível em `http://SEU_IP:4000`. +Para usar domínio em produção, faça: + +1. Crie/ajuste o DNS do domínio para apontar para o IP do servidor (registro `A`). +2. Coloque um proxy reverso na frente da API (Nginx, Traefik ou Caddy). +3. Emita TLS/HTTPS (Let's Encrypt). +4. Atualize `FRONTEND_PUBLIC_URL` no `.env` para a URL pública do front-end. + +Sem proxy+HTTPS, o domínio pode até abrir via HTTP, mas não é recomendado para produção. + +## Atualizando um clone já existente no servidor + +```bash +cd ~/apps/line-gestao-api +git fetch --all --prune +git pull --rebase origin NOME_DA_BRANCH +docker compose up -d --build +``` + ## Observações - O Postgres **não é exposto** para fora do Docker (sem `5432:5432`). - A API sobe na porta `4000` do host (`4000:8080`).