Atualizar docker-compose-exemplo.yml
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user