Files
scoreodonto.com/docker-compose.yml
VPS 4 Builder 773e8d4bf2 fix(agenda): fuso automático (America/Sao_Paulo) + dentista configura seus horários
- TZ=America/Sao_Paulo no backend (compose): a agenda deixa de rodar em UTC —
  horários/slots passam a ser Brasília automaticamente (corrige deslocamento de 3h).
- Acesso do DENTISTA: novo botão "Meus Horários" na agenda do dentista, abrindo
  a config direto nos horários/folgas DELE (HorariosConfig com initialTab/soDentista,
  restrito ao próprio registro). Antes só admin/donoclinica alcançavam a config.
- Config da clínica: gate passa a incluir donoconsultorio (dono de consultório).

Obs.: AgendaView.tsx também traz trabalho acumulado da agenda que estava no
working tree.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 04:44:38 +02:00

83 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
- TZ=America/Sao_Paulo
- 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