diff --git a/docker-compose.yml b/docker-compose.yml index cb07dec..59a996e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,34 @@ services: - # O MinIO local foi removido para usar o S3 unificado externo futuramente. - # O Postgres local foi removido para usar o banco centralizado (bd-geral). + postgres: + image: postgres:12-alpine + container_name: occto_postgres + environment: + POSTGRES_USER: ${POSTGRES_USER:-admin} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-adminpassword} + POSTGRES_DB: ${POSTGRES_DB:-occto_db} + volumes: + - postgres_data_v2:/var/lib/postgresql/data + networks: + - occto_network + healthcheck: + test: [ "CMD-SHELL", "pg_isready -U admin -d occto_db" ] + interval: 10s + timeout: 5s + retries: 5 + restart: unless-stopped + + minio: + image: minio/minio:RELEASE.2023-09-04T19-57-37Z + container_name: occto_minio + environment: + MINIO_ROOT_USER: ${MINIO_ROOT_USER:-admin} + MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-adminpassword} + volumes: + - minio_data:/data + networks: + - occto_network + command: server /data --console-address ":9001" + restart: unless-stopped frontend: build: @@ -11,17 +39,14 @@ services: - "3000" environment: - NODE_ENV=${NODE_ENV:-production} - # Conexão com o banco centralizado (Postgres unificado) - - DATABASE_URL=${DATABASE_URL} - # Configurações de Mídias (S3) - - MINIO_ENDPOINT=${MINIO_ENDPOINT} + - DATABASE_URL=${DATABASE_URL:-postgresql://admin:adminpassword@postgres:5432/occto_db?schema=public} + - MINIO_ENDPOINT=${MINIO_ENDPOINT:-minio} - MINIO_PORT=${MINIO_PORT:-9000} - MINIO_USE_SSL=${MINIO_USE_SSL:-false} - - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} - - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} + - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-admin} + - MINIO_SECRET_KEY=${MINIO_SECRET_KEY:-adminpassword} - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME:-occto-images} - # Segurança e Outros - - JWT_SECRET=${JWT_SECRET} + - JWT_SECRET=${JWT_SECRET:-b33500bb3dc5504535c34cc5f79f4ca0f60994b093bded14d48f76c0c090f032234693219e60398cab053a9c55c1d426ef7b1768104db9040254ba7db452f708} - LIBRETRANSLATE_URL=${LIBRETRANSLATE_URL:-https://libretranslate.stackbyte.cloud} labels: - "traefik.enable=true" @@ -31,6 +56,9 @@ services: - "traefik.http.routers.occto-frontend.tls.certresolver=letsencrypt" - "traefik.http.services.occto-frontend.loadbalancer.server.port=3000" - "traefik.docker.network=dokploy-network" + depends_on: + postgres: + condition: service_healthy networks: - occto_network - dokploy-network @@ -43,4 +71,5 @@ networks: external: true volumes: + postgres_data_v2: minio_data: