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 do Clube67 (Apenas clube67.com e www.clube67.com) - "traefik.http.routers.clube67-prod.rule=Host(`clube67.com`) || Host(`www.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: - clube67-backend clube67-backend: image: node:20 container_name: clube67-backend-prod restart: always working_dir: /app env_file: - "./backend/.env" environment: - PORT=3001 - NODE_ENV=production volumes: # Montar diretórios e arquivos do Clube67 reais - "./backend/uploads:/app/uploads" - "./backend/dist:/app/dist" - "./backend/package.json:/app/package.json" - "./backend/node_modules:/app/node_modules" - "./frontend:/frontend" command: node dist/backend/src/index.js security_opt: - no-new-privileges:true networks: - soc - web networks: soc: external: true web: external: true