# Deploy rápido (API + Postgres) ## 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 inclui `docker-compose.yml` na raiz do projeto. ## Passo a passo 1. Entre na pasta da API: ```bash cd ~/apps/line-gestao-api ``` 2. Crie o `.env` a partir do exemplo: ```bash cp .env.example .env nano .env ``` 3. Suba os containers: ```bash docker compose up -d --build ``` 4. Verifique o status e logs: ```bash docker compose ps docker compose logs -f --tail=200 ``` 5. Teste healthcheck da API: ```bash 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`). - Defina valores fortes para `JWT_KEY`, `SEED_ADMIN_PASSWORD` e `POSTGRES_PASSWORD`.