773e8d4bf2
- 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>
83 lines
2.6 KiB
YAML
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
|