3aa6a444dc
- Senha do banco deixa de ter default no compose: vem de SCOREO_DB_PASS (.env raiz em DEV; provisionar fora do git em PROD). `:?` faz o up falhar se faltar (fail-fast). - DRAGONFLY_URL (com senha) sai do compose e passa a vir do env_file backend/.env. - Host/usuário/banco mantêm default (não são segredo). - Validado em DEV: db (pgdev) ok, cache ok, login ok. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
82 lines
2.6 KiB
YAML
82 lines
2.6 KiB
YAML
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
restart: always
|
|
ports:
|
|
- "8020:80"
|
|
volumes:
|
|
- "./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
# Roteador de Produção (scoreodonto.com)
|
|
- "traefik.http.routers.scoreodonto-prod.rule=Host(`scoreodonto.com`) || Host(`www.scoreodonto.com`)"
|
|
- "traefik.http.routers.scoreodonto-prod.entrypoints=websecure"
|
|
- "traefik.http.routers.scoreodonto-prod.tls.certresolver=le"
|
|
- "traefik.http.services.scoreodonto-prod.loadbalancer.server.port=80"
|
|
- "traefik.docker.network=web"
|
|
networks:
|
|
- soc
|
|
- web
|
|
depends_on:
|
|
- scoreodonto-backend
|
|
- scoreodonto-frontend
|
|
|
|
scoreodonto-backend:
|
|
build:
|
|
context: "./backend"
|
|
dockerfile: Dockerfile
|
|
args:
|
|
APP_VERSION: ${APP_VERSION:-dev}
|
|
GIT_COMMIT: ${GIT_COMMIT:-dev}
|
|
BUILD_TIME: ${BUILD_TIME:-}
|
|
APP_ENV: ${APP_ENV:-DEV}
|
|
restart: always
|
|
env_file:
|
|
- "./backend/.env"
|
|
environment:
|
|
- BAILEYS_ENGINE=infinite
|
|
- PORT=8018
|
|
- NODE_ENV=production
|
|
# Senha do banco vem do ambiente (.env raiz em DEV; provisionado fora do git em PROD).
|
|
# `:?` falha o `up` se a senha não estiver definida — evita subir com senha vazia/errada.
|
|
# Host/usuário/banco mantêm default (não são segredo); só a senha é obrigatória via env.
|
|
- DATABASE_URL=postgresql://${SCOREO_DB_USER:-scoreodonto_user}:${SCOREO_DB_PASS:?defina SCOREO_DB_PASS no .env}@${SCOREO_DB_HOST:-10.99.0.3}:5432/${SCOREO_DB_NAME:-scoreodonto}?schema=public
|
|
# DRAGONFLY_URL (com senha) vem do env_file backend/.env — não fica em texto no compose.
|
|
- NATS_URL=nats://10.99.0.3:4222
|
|
- TEMPORAL_ADDRESS=10.99.0.3:7233
|
|
- BAILEYS_SESSIONS_PATH=/app/sessions
|
|
- APP_URL=https://scoreodonto.com
|
|
- GOOGLE_REDIRECT_URI=https://scoreodonto.com/api/oauth2callback
|
|
volumes:
|
|
- "/home/deploy/scoreodonto-sessions:/app/sessions"
|
|
- "/home/deploy/scoreodonto-media:/app/media"
|
|
- "./plugins:/app/plugins"
|
|
networks:
|
|
- soc
|
|
- web
|
|
|
|
scoreodonto-frontend:
|
|
build:
|
|
context: "."
|
|
dockerfile: frontend/Dockerfile
|
|
args:
|
|
GIT_COMMIT: ${GIT_COMMIT:-dev}
|
|
BUILD_TIME: ${BUILD_TIME:-}
|
|
APP_ENV: ${APP_ENV:-DEV}
|
|
restart: always
|
|
env_file:
|
|
- "./frontend/.env.production.local"
|
|
environment:
|
|
- PORT=3013
|
|
- NODE_ENV=production
|
|
- NEXT_PUBLIC_API_URL=https://scoreodonto.com/api
|
|
networks:
|
|
- soc
|
|
- web
|
|
|
|
networks:
|
|
soc:
|
|
external: true
|
|
web:
|
|
external: true
|