console/packages/services/storage/docker-compose.yml

175 lines
4.4 KiB
YAML

version: '3.8'
services:
db:
image: postgres:13.4-alpine
networks:
- 'stack'
healthcheck:
test: ['CMD-SHELL', 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}']
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: registry
PGDATA: /var/lib/postgresql/data
volumes:
- ./volumes/postgresql/db:/var/lib/postgresql/data
ports:
- '5432:5432'
redis:
image: docker.io/bitnami/redis:7.0.7
networks:
- 'stack'
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 30s
timeout: 10s
retries: 10
start_period: 30s
environment:
- ALLOW_EMPTY_PASSWORD=yes
- REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
ports:
- '6379:6379'
volumes:
- './volumes/redis/db:/bitnami/redis/data'
s3:
image: quay.io/minio/minio:RELEASE.2022-11-29T23-40-49Z
command: server /data --console-address ":9001"
ports:
- '9000:9000'
- '9001:9001'
networks:
- 'stack'
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live']
interval: 30s
timeout: 20s
retries: 3
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
s3_provision_buckets:
image: quay.io/minio/mc:RELEASE.2022-11-17T21-20-39Z
depends_on:
s3:
condition: service_healthy
restart: 'no'
networks:
- 'stack'
entrypoint: >
/bin/sh -c " /usr/bin/mc alias set myminio http://s3:9000 minioadmin minioadmin; /usr/bin/mc
ls myminio/artifacts >/dev/null 2>&1 || /usr/bin/mc mb myminio/artifacts; exit 0"
clickhouse:
image: clickhouse/clickhouse-server:22.12-alpine
environment:
CLICKHOUSE_USER: test
CLICKHOUSE_PASSWORD: test
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'localhost:8123/ping']
interval: 30s
timeout: 5s
retries: 3
volumes:
- ./volumes/clickhouse/logs:/var/log/clickhouse-server
- ./volumes/clickhouse/db:/var/lib/clickhouse
- ./configs/clickhouse:/etc/clickhouse-server/conf.d
ports:
- '8123:8123'
networks:
- 'stack'
zookeeper:
image: confluentinc/cp-zookeeper:7.3.1
hostname: zookeeper
networks:
- 'stack'
ports:
- '2181:2181'
ulimits:
nofile:
soft: 20000
hard: 40000
healthcheck:
test: echo srvr | nc zookeeper 2181 || exit 1
retries: 20
interval: 10s
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
volumes:
- ./volumes/zookeeper/db:/var/lib/zookeeper/data
- ./volumes/zookeeper/log:/var/lib/zookeeper/log
broker:
image: confluentinc/cp-kafka:7.3.1
hostname: borker
depends_on:
zookeeper:
condition: service_started
networks:
- 'stack'
ports:
- '29092:29092'
- '9092:9092'
ulimits:
nofile:
soft: 20000
hard: 40000
healthcheck:
test:
[
'CMD',
'cub',
'kafka-ready',
'1',
'5',
'-b',
'127.0.0.1:9092',
'-c',
'/etc/kafka/kafka.properties',
]
interval: 15s
timeout: 10s
retries: 6
start_period: 15s
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
volumes:
- ./volumes/broker/db:/var/lib/kafka/data
supertokens:
image: registry.supertokens.io/supertokens/supertokens-postgresql:4.2
depends_on:
db:
condition: service_healthy
networks:
- 'stack'
ports:
- '3567:3567'
environment:
POSTGRESQL_USER: postgres
POSTGRESQL_PASSWORD: postgres
POSTGRESQL_DATABASE_NAME: registry
POSTGRESQL_TABLE_NAMES_PREFIX: 'supertokens'
POSTGRESQL_HOST: db
POSTGRESQL_PORT: 5432
API_KEYS: bubatzbieber6942096420
ACCESS_TOKEN_BLACKLISTING: 'true'
networks:
stack: {}