version: "3.6" services: nginx: image: nginx volumes: - ../nginx/nginx-prod.conf:/etc/nginx/nginx.conf ports: - "80:80" deploy: mode: replicated replicas: 2 restart_policy: condition: any placement: constraints: [node.role == manager] update_config: parallelism: 1 order: start-first postgres: image: postgres volumes: - /sprint-data/postgres-data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: $DB_PASSWORD_PROD ports: - "5432:5432" deploy: mode: replicated restart_policy: condition: any placement: constraints: [node.role == manager] update_config: parallelism: 1 order: start-first rabbitmq: image: rabbitmq:3.7.9-management ports: - "15672:15672" - "5672:5672" deploy: mode: replicated restart_policy: condition: any update_config: parallelism: 1 order: start-first redis: image: redis ports: - "6379:6379" command: redis-server --requirepass $REDIS_PASSWORD_PROD deploy: mode: replicated restart_policy: condition: any update_config: parallelism: 1 order: start-first gitlab-runner: image: mathwave/sprint-repo:gitlab-runner volumes: - /var/run/docker.sock:/var/run/docker.sock placement: constraints: [node.role == manager] deploy: mode: replicated restart_policy: condition: any update_config: parallelism: 1 order: start-first