Files
nats-console/docker-compose.yml
2025-12-04 21:46:20 +05:30

83 lines
2.0 KiB
YAML

version: "3.8"
services:
postgres:
image: postgres:16-alpine
container_name: nats-console-postgres
environment:
POSTGRES_USER: nats_console
POSTGRES_PASSWORD: nats_console_dev
POSTGRES_DB: nats_console
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U nats_console -d nats_console"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: nats-console-redis
command: redis-server --appendonly yes
ports:
- "6379:6379"
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
clickhouse:
image: clickhouse/clickhouse-server:latest
container_name: nats-console-clickhouse
environment:
CLICKHOUSE_DB: nats_console
CLICKHOUSE_USER: nats_console
CLICKHOUSE_PASSWORD: nats_console_dev
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
ports:
- "8123:8123" # HTTP interface
- "9000:9000" # Native client
volumes:
- clickhouse_data:/var/lib/clickhouse
- ./infrastructure/clickhouse/init:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8123/ping"]
interval: 10s
timeout: 5s
retries: 5
nats:
image: nats:latest
container_name: nats-console-nats
command:
- "--jetstream"
- "--store_dir=/data"
- "--http_port=8222"
- "-m=8222"
ports:
- "4222:4222" # Client connections
- "8222:8222" # HTTP monitoring
volumes:
- nats_data:/data
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8222/healthz"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
redis_data:
clickhouse_data:
nats_data:
networks:
default:
name: nats-console-network