diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index eadaf2e5..959977f9 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,4 +1,20 @@ services: + traefik: + image: traefik:v2.11 + ports: + - "80:80" + - "443:443" + deploy: + placement: + constraints: [node.role == manager] + command: + - "--providers.docker" + - "--providers.docker.swarmmode=true" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--api.dashboard=true" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" dispatch: deploy: replicas: 3 @@ -11,7 +27,10 @@ services: - NEXT_PUBLIC_DISPATCH_SERVICE_ID=1 - NEXT_PUBLIC_LIVEKIT_URL=$NEXT_PUBLIC_LIVEKIT_URL - NEXT_PUBLIC_DISPATCH_SERVER_URL=$NEXT_PUBLIC_DISPATCH_SERVER_URL - container_name: dispatch + labels: + - "traefik.enable=true" + - "traefik.http.routers.dispatch.rule=Host(`dispatch.premiumag.de`)" + - "traefik.http.services.dispatch.loadbalancer.server.port=3000" ports: - "3001:3000" env_file: @@ -160,7 +179,9 @@ services: networks: default: driver: bridge - + networks: + traefik_public: + external: true postgres_network: driver: bridge redis_network: