services: targo-hub: image: node:20-alpine container_name: targo-hub working_dir: /app volumes: - ./server.js:/app/server.js:ro - ./package.json:/app/package.json:ro command: node server.js env_file: .env restart: unless-stopped networks: - proxy - erpnext_erpnext labels: - "traefik.enable=true" - "traefik.docker.network=proxy" # Main router — webhooks + send + health (no auth) - "traefik.http.routers.targo-hub.rule=Host(`msg.gigafibre.ca`)" - "traefik.http.routers.targo-hub.entrypoints=websecure" - "traefik.http.routers.targo-hub.tls.certresolver=letsencrypt" - "traefik.http.services.targo-hub.loadbalancer.server.port=3300" # Disable response buffering for SSE - "traefik.http.middlewares.sse-headers.headers.customresponseheaders.X-Accel-Buffering=no" - "traefik.http.routers.targo-hub.middlewares=sse-headers" networks: proxy: external: true erpnext_erpnext: external: true