From 99a9ff5512d085b60db568a0a45bd537045c25d1 Mon Sep 17 00:00:00 2001 From: Felipe Coutinho Date: Sun, 12 Apr 2026 01:48:20 +0000 Subject: [PATCH] =?UTF-8?q?fix(docker):=20resolver=20DATABASE=5FURL=20loca?= =?UTF-8?q?lhost=E2=86=92db=20no=20container=20automaticamente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-entrypoint.sh: substituir @localhost: por @db: via sed antes das migrations e do Next.js subirem — transparente para o usuário - docker-compose.yml: adicionar valor padrão para DATABASE_URL para permitir subir sem .env configurado Co-Authored-By: Claude Sonnet 4.6 --- docker-compose.yml | 3 ++- docker-entrypoint.sh | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index ab5bef5..5943296 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -81,7 +81,8 @@ services: NODE_ENV: production # Banco local: use host "db" | Banco remoto: URL completa do provider - DATABASE_URL: ${DATABASE_URL} + # O entrypoint converte automaticamente "localhost" → "db" se necessário + DATABASE_URL: ${DATABASE_URL:-postgresql://openmonetis:openmonetis_dev_password@db:5432/openmonetis_db} BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET} BETTER_AUTH_URL: ${BETTER_AUTH_URL:-http://localhost:3000} diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index a48d2bc..8a46c5c 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,5 +1,13 @@ #!/bin/sh +# Dentro do container Docker, "localhost" não alcança o serviço de banco. +# Substitui automaticamente para o nome do serviço "db" da rede Docker. +# Não afeta URLs de bancos remotos (não contêm "@localhost:"). +if [ -n "$DATABASE_URL" ]; then + DATABASE_URL=$(echo "$DATABASE_URL" | sed 's|@localhost:|@db:|g') + export DATABASE_URL +fi + echo "Rodando migrations..." RETRIES=5 until NODE_PATH=/app/migrate/node_modules /app/migrate/node_modules/.bin/drizzle-kit push || [ "$RETRIES" -eq 0 ]; do