86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
restart: always
|
|
volumes:
|
|
- "./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
# Roteador de Produção (clube67.com e newwhats.clube67.com)
|
|
- "traefik.http.routers.clube67-prod.rule=Host(`clube67.com`) || Host(`www.clube67.com`) || Host(`newwhats.clube67.com`)"
|
|
- "traefik.http.routers.clube67-prod.entrypoints=websecure"
|
|
- "traefik.http.routers.clube67-prod.tls.certresolver=le"
|
|
- "traefik.http.services.clube67-prod.loadbalancer.server.port=80"
|
|
- "traefik.docker.network=web"
|
|
networks:
|
|
- soc
|
|
- web
|
|
depends_on:
|
|
- newwhats-backend
|
|
- newwhats-frontend
|
|
|
|
newwhats-backend:
|
|
image: node:20
|
|
container_name: newwhats-backend-prod
|
|
restart: always
|
|
# rootless docker: container UID 0 já é mapeado para o usuário deploy do host
|
|
working_dir: /app
|
|
env_file:
|
|
- "./newwhats.local/backend/.env"
|
|
environment:
|
|
- BAILEYS_ENGINE=infinite
|
|
- PORT=8008
|
|
- NODE_ENV=production
|
|
- DATABASE_URL=postgresql://newwhats:clube67_newwhats_pass_9903@10.99.0.3:5432/newwhats?schema=public
|
|
- DRAGONFLY_URL=redis://:clube67_dragonfly_pass_9903@10.99.0.3:6379
|
|
- NATS_URL=nats://10.99.0.3:4222
|
|
- TEMPORAL_ADDRESS=10.99.0.3:7233
|
|
- BAILEYS_SESSIONS_PATH=/app/sessions
|
|
volumes:
|
|
- "/home/deploy/newwhats-sessions:/app/sessions"
|
|
- "/home/deploy/newwhats-media:/app/media"
|
|
- "./newwhats.local/plugins:/app/plugins"
|
|
# Montar diretórios e arquivos pré-compilados pelo builder (VPS 4)
|
|
- "./newwhats.local/backend/dist:/app/dist"
|
|
- "./newwhats.local/backend/package.json:/app/package.json"
|
|
- "./newwhats.local/backend/node_modules:/app/node_modules"
|
|
- "./newwhats.local/backend/prisma:/app/prisma"
|
|
command: node dist/server.js
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
networks:
|
|
- soc
|
|
- web
|
|
|
|
newwhats-frontend:
|
|
image: node:20-alpine
|
|
container_name: newwhats-frontend-prod
|
|
restart: always
|
|
# rootless docker: container UID 0 já é mapeado para o usuário deploy do host
|
|
working_dir: /app
|
|
env_file:
|
|
- "./newwhats.local/frontend/.env.production.local"
|
|
environment:
|
|
- PORT=3003
|
|
- NODE_ENV=production
|
|
- NEXT_PUBLIC_API_URL=https://clube67.com/api
|
|
volumes:
|
|
# Montar diretórios e arquivos pré-compilados pelo builder (VPS 4)
|
|
- "./newwhats.local/frontend/.next:/app/.next"
|
|
- "./newwhats.local/frontend/public:/app/public"
|
|
- "./newwhats.local/frontend/next.config.mjs:/app/next.config.mjs"
|
|
- "./newwhats.local/frontend/package.json:/app/package.json"
|
|
- "./newwhats.local/frontend/node_modules:/app/node_modules"
|
|
command: npx next start -p 3003
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
networks:
|
|
- soc
|
|
- web
|
|
|
|
networks:
|
|
soc:
|
|
external: true
|
|
web:
|
|
external: true
|