mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 02:51:46 +00:00
chore(docker): simplificar compose e entrypoint
- compose: removidos profiles, build e dependência de arquivo externo; agora standalone com curl + docker compose up -d - compose: variáveis opcionais movidas para .env via env_file - entrypoint: extensão pgcrypto criada via Node.js antes das migrations - entrypoint: loop de retry reescrito; removido hack @localhost→@db Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,23 +1,26 @@
|
||||
#!/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 "Habilitando extensão pgcrypto..."
|
||||
node -e "
|
||||
const { Client } = require('/app/migrate/node_modules/pg');
|
||||
const c = new Client({ connectionString: process.env.DATABASE_URL });
|
||||
c.connect()
|
||||
.then(() => c.query('CREATE EXTENSION IF NOT EXISTS pgcrypto'))
|
||||
.then(() => c.end())
|
||||
.catch((e) => { console.error('Aviso pgcrypto:', e.message); process.exit(0); });
|
||||
"
|
||||
|
||||
echo "Rodando migrations..."
|
||||
RETRIES=5
|
||||
until NODE_PATH=/app/migrate/node_modules /app/migrate/node_modules/.bin/drizzle-kit push || [ "$RETRIES" -eq 0 ]; do
|
||||
RETRIES=$((RETRIES - 1))
|
||||
echo "Migration falhou, aguardando banco... ($RETRIES tentativas restantes)"
|
||||
MIGRATED=0
|
||||
for i in 1 2 3 4 5; do
|
||||
if NODE_PATH=/app/migrate/node_modules /app/migrate/node_modules/.bin/drizzle-kit push; then
|
||||
MIGRATED=1
|
||||
break
|
||||
fi
|
||||
echo "Tentativa $i/5 falhou. Aguardando 5s..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
if [ "$RETRIES" -eq 0 ]; then
|
||||
echo "Aviso: migrations nao foram aplicadas"
|
||||
fi
|
||||
[ "$MIGRATED" -eq 0 ] && echo "Aviso: migrations não foram aplicadas."
|
||||
|
||||
exec "$@"
|
||||
|
||||
Reference in New Issue
Block a user