services: frontend: image: nginx:alpine container_name: subdominio-frontend restart: unless-stopped volumes: - ./frontend/dist:/usr/share/nginx/html:ro - ./frontend/nginx.conf:/etc/nginx/conf.d/default.conf:ro networks: - subdominio-net backend: build: ./backend container_name: subdominio-backend restart: unless-stopped working_dir: /app environment: - PG_HOST=${SUB_DB_HOST:-10.99.0.3} - PG_PORT=5432 - PG_DATABASE=${SUB_DB_NAME:-subdominio} - PG_USER=${SUB_DB_USER:-mercado_admin} - PG_PASSWORD=${SUB_DB_PASS:-mErC4d0_2026_Club3!#} - PORT=8019 volumes: - ./backend:/app - /app/node_modules networks: - subdominio-net - soc nginx: image: nginx:alpine container_name: subdominio-nginx restart: unless-stopped ports: - "8021:8021" volumes: - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - frontend - backend networks: - subdominio-net - web labels: - "traefik.enable=true" - "traefik.http.routers.subdominio.rule=Host(`subdominio.clube67.com`)" - "traefik.http.routers.subdominio.entrypoints=websecure" - "traefik.http.routers.subdominio.tls.certresolver=le" - "traefik.http.services.subdominio.loadbalancer.server.port=8021" - "traefik.docker.network=web" networks: subdominio-net: driver: bridge soc: external: true web: external: true