151 lines
3.3 KiB
YAML
151 lines
3.3 KiB
YAML
version: "3.6"
|
|
|
|
services:
|
|
|
|
nginx:
|
|
image: mathwave/sprint-repo:sprint-infra-nginx-dev
|
|
networks:
|
|
- common-infra-nginx
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
update_config:
|
|
parallelism: 1
|
|
order: start-first
|
|
|
|
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:
|
|
- "5432:5432"
|
|
deploy:
|
|
mode: replicated
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
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:
|
|
- "27017:27017"
|
|
deploy:
|
|
mode: replicated
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
update_config:
|
|
parallelism: 1
|
|
order: start-first
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3.10.7-management
|
|
volumes:
|
|
- /sprint-data/rabbitmq:/var/lib/rabbitmq
|
|
ports:
|
|
- "5672:5672"
|
|
- "15672:15672"
|
|
environment:
|
|
RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD_DEV
|
|
deploy:
|
|
mode: replicated
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
update_config:
|
|
parallelism: 1
|
|
order: start-first
|
|
|
|
redis:
|
|
image: redis:alpine3.16
|
|
volumes:
|
|
- /sprint-data/redis:/data
|
|
ports:
|
|
- "6379:6379"
|
|
command: redis-server --requirepass $REDIS_PASSWORD_DEV
|
|
deploy:
|
|
mode: replicated
|
|
restart_policy:
|
|
condition: any
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
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:
|
|
- "9000:9000"
|
|
- "9001:9001"
|
|
deploy:
|
|
mode: replicated
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
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.role == manager]
|
|
restart_policy:
|
|
condition: any
|
|
update_config:
|
|
parallelism: 1
|
|
order: start-first
|
|
|
|
volumes:
|
|
minio_data:
|
|
driver: local
|
|
|
|
networks:
|
|
net:
|
|
driver: overlay
|
|
common-infra-nginx:
|
|
external: true
|