version: "3.6" services: nginx: image: mathwave/sprint-repo:sprint-infra-nginx-dev networks: - common-infra-nginx-development - configurator environment: MINIO_SECRET_KEY: $MINIO_SECRET_KEY_DEV ports: - published: 80 target: 80 mode: host - published: 443 target: 443 mode: host deploy: mode: replicated replicas: 1 restart_policy: condition: any placement: constraints: [node.labels.stage == development] update_config: parallelism: 1 # order: stop-first clickhouse: image: clickhouse networks: - clickhouse-development - common-infra-nginx-development volumes: - /sprint-data/clickhouse:/var/lib/clickhouse environment: CLICKHOUSE_PASSWORD: $CLICKHOUSE_PASSWORD_DEV deploy: mode: replicated replicas: 1 restart_policy: condition: any placement: constraints: [node.labels.stage == development] update_config: parallelism: 1 postgres: image: postgres:14-alpine3.19 volumes: - /sprint-data/postgres-data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: $DB_PASSWORD_DEV healthcheck: test: pg_isready || pg_resetwal /var/lib/postgresql/data interval: 60s retries: 5 start_period: 20s timeout: 10s ports: - published: 5432 target: 5432 mode: host deploy: mode: replicated restart_policy: condition: any placement: constraints: [node.labels.stage == development] update_config: parallelism: 1 order: start-first mongo: image: mongo:6.0.2 volumes: - /sprint-data/mongo:/data/db environment: MONGO_INITDB_ROOT_USERNAME: mongo MONGO_INITDB_ROOT_PASSWORD: $MONGO_PASSWORD_DEV ports: - published: 27017 target: 27017 mode: host deploy: mode: replicated restart_policy: condition: any placement: constraints: [node.labels.stage == development] update_config: parallelism: 1 order: start-first rabbitmq: image: rabbitmq:3.10.7-management volumes: - /sprint-data/rabbitmq:/var/lib/rabbitmq ports: - published: 5672 target: 5672 mode: host - published: 15672 target: 15672 mode: host environment: RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD_DEV deploy: mode: replicated restart_policy: condition: any placement: constraints: [node.labels.stage == development] update_config: parallelism: 1 order: start-first redis: image: redis:alpine3.16 volumes: - /sprint-data/redis:/data ports: - published: 6379 target: 6379 mode: host command: redis-server --requirepass $REDIS_PASSWORD_DEV deploy: mode: replicated restart_policy: condition: any placement: constraints: [node.labels.stage == development] update_config: parallelism: 1 order: start-first minio: image: bitnami/minio:2022.10.8 volumes: - minio_data:/data environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: $MINIO_PASSWORD_DEV ports: - published: 9000 target: 9000 mode: host - published: 9001 target: 9001 mode: host deploy: mode: replicated placement: constraints: [node.labels.stage == development] restart_policy: condition: any update_config: parallelism: 1 order: start-first gitea-runner: image: mathwave/sprint-repo:gitea-runner volumes: - /var/run/docker.sock:/var/run/docker.sock - /sprint-data:/sprint-data environment: GITEA_INSTANCE_URL: https://gitea.sprinthub.ru/ GITEA_RUNNER_REGISTRATION_TOKEN: $REGISTRATION_TOKEN GITEA_RUNNER_NAME: dev GITEA_RUNNER_LABELS: dev deploy: mode: replicated placement: constraints: [node.labels.stage == development] restart_policy: condition: any update_config: parallelism: 1 order: start-first volumes: minio_data: driver: local networks: common-infra-nginx-development: external: true configurator: external: true clickhouse-development: external: true