Atualizar docker-compose-exemplo.yml

This commit is contained in:
2026-03-09 14:30:25 +00:00
parent f929e84e9a
commit e4bda1f1ff

View File

@@ -20,45 +20,45 @@ services:
# ============================================
# Servico: PostgreSQL (Banco de dados local)
# ============================================
db:
image: postgres:18-alpine
container_name: openmonetis_postgres
restart: unless-stopped
# db:
# image: postgres:18-alpine
# container_name: openmonetis_postgres
# restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-openmonetis}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-openmonetis_dev_password}
POSTGRES_DB: ${POSTGRES_DB:-openmonetis_db}
# Garante que os dados ficam no volume montado (evita perda apos down/up)
PGDATA: /var/lib/postgresql/data
# Configuracoes de performance
POSTGRES_INITDB_ARGS: "-E UTF8 --locale=C"
# environment:
# POSTGRES_USER: ${POSTGRES_USER:-openmonetis}
# POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-openmonetis_dev_password}
# POSTGRES_DB: ${POSTGRES_DB:-openmonetis_db}
# # Garante que os dados ficam no volume montado (evita perda apos down/up)
# PGDATA: /var/lib/postgresql/data
# # Configuracoes de performance
# POSTGRES_INITDB_ARGS: "-E UTF8 --locale=C"
ports:
# Mapeia porta 5432 do container para 5432 do host
# Util para conectar com ferramentas externas (ex: DBeaver, pgAdmin)
- "${DB_PORT:-5432}:5432"
# ports:
# # Mapeia porta 5432 do container para 5432 do host
# # Util para conectar com ferramentas externas (ex: DBeaver, pgAdmin)
# - "${DB_PORT:-5432}:5432"
volumes:
# Volume nomeado para persistencia de dados
# Os dados sobrevivem ao restart do container
- postgres_data:/var/lib/postgresql/data
# Script de inicializacao (cria extensao pgcrypto automaticamente)
- ./scripts/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
# volumes:
# # Volume nomeado para persistencia de dados
# # Os dados sobrevivem ao restart do container
# - postgres_data:/var/lib/postgresql/data
# # Script de inicializacao (cria extensao pgcrypto automaticamente)
# - ./scripts/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
healthcheck:
test:
[
"CMD-SHELL",
"pg_isready -U ${POSTGRES_USER:-openmonetis} -d ${POSTGRES_DB:-openmonetis_db}",
]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
# healthcheck:
# test:
# [
# "CMD-SHELL",
# "pg_isready -U ${POSTGRES_USER:-openmonetis} -d ${POSTGRES_DB:-openmonetis_db}",
# ]
# interval: 10s
# timeout: 5s
# retries: 5
# start_period: 10s
networks:
- openmonetis_network
# networks:
# - openmonetis_network
# Descomentar para ativar logs de queries (debug)
# command: ["postgres", "-c", "log_statement=all"]
@@ -109,9 +109,9 @@ services:
# So depende do 'db' se estiver usando banco local
# Para banco remoto, comente a linha abaixo ou suba apenas: docker compose up app
depends_on:
db:
condition: service_healthy
# depends_on:
# db:
# condition: service_healthy
networks:
- openmonetis_network
@@ -120,8 +120,16 @@ services:
# ATENCAO: Em producao, considere rodar migrations separadamente por segurança
entrypoint: ["/bin/sh", "-c"]
command:
- "echo \"🚀 Iniciando via Coolify...\"\n\n# Rodando migrations com script leve (sem drizzle-kit)\nnode scripts/migrate.js || echo \"⚠️ Migrations falharam ou conexão indisponível no momento.\"\n\necho \"✅ Iniciando aplicação Next.js...\"\nnode server.js\n"
- |
echo "🚀 Aguardando banco de dados..."
sleep 5
echo "📦 Rodando migrations..."
pnpm db:push || echo "⚠️ Migrations falharam ou já estão atualizadas"
echo "✅ Iniciando aplicação Next.js..."
node server.js
# Healthcheck da aplicacao
healthcheck:
test: