version: '3' services: op-db: image: postgres:14-alpine restart: always volumes: - ./docker/data/op-db-data:/var/lib/postgresql/data ports: - 5432:5432 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres op-kv: image: redis:7.2.5-alpine restart: always volumes: - ./docker/data/op-kv-data:/data command: [ 'redis-server', '--maxmemory-policy', 'noeviction' ] ports: - 6379:6379 op-ch: image: clickhouse/clickhouse-server:24.12.2.29-alpine restart: always volumes: - ./docker/data/op-ch-data:/var/lib/clickhouse - ./docker/data/op-ch-logs:/var/log/clickhouse-server - ./self-hosting/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/op-config.xml - ./self-hosting/clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/op-user-config.xml - ./self-hosting/clickhouse/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh:ro ulimits: nofile: soft: 262144 hard: 262144 ports: - "8123:8123" # HTTP interface - "9000:9000" # Native/TCP interface - "9009:9009" # Inter-server communication