mirror of
https://github.com/KLogicHQ/nats-console.git
synced 2026-10-04 20:41:29 +00:00
75 lines
2.3 KiB
YAML
75 lines
2.3 KiB
YAML
# =============================================================================
|
|
# NATS Console - All-in-One Docker Compose
|
|
# =============================================================================
|
|
# This runs the single container with all services embedded.
|
|
# Perfect for demos, quick testing, and local development.
|
|
#
|
|
# Usage:
|
|
# docker-compose -f docker-compose.allinone.yml up -d
|
|
#
|
|
# With local data folder:
|
|
# mkdir -p ./nats-console-data
|
|
# docker-compose -f docker-compose.allinone.yml up -d
|
|
#
|
|
# Access:
|
|
# - Web UI: http://localhost:3000
|
|
# - API: http://localhost:3001
|
|
# - NATS: nats://localhost:4222
|
|
# - NATS Monitor: http://localhost:8222
|
|
#
|
|
# Data Structure (in /data or ./nats-console-data):
|
|
# /data
|
|
# ├── postgres/ - PostgreSQL data
|
|
# ├── redis/ - Redis data
|
|
# ├── clickhouse/ - ClickHouse data
|
|
# ├── nats/ - NATS JetStream data
|
|
# └── logs/ - Application logs
|
|
# =============================================================================
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
nats-console:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: nats-console/allinone:latest
|
|
container_name: nats-console-allinone
|
|
restart: unless-stopped
|
|
ports:
|
|
# Application
|
|
- "3000:3000" # Web UI
|
|
- "3001:3001" # API
|
|
# Databases (optional external access)
|
|
- "5432:5432" # PostgreSQL
|
|
- "6379:6379" # Redis
|
|
- "8123:8123" # ClickHouse HTTP
|
|
- "9000:9000" # ClickHouse Native
|
|
# NATS
|
|
- "4222:4222" # NATS Client
|
|
- "8222:8222" # NATS Monitoring
|
|
environment:
|
|
- JWT_SECRET=${JWT_SECRET:-change-me-in-production-use-secure-random-string}
|
|
- JWT_EXPIRES_IN=${JWT_EXPIRES_IN:-15m}
|
|
- JWT_REFRESH_EXPIRES_IN=${JWT_REFRESH_EXPIRES_IN:-7d}
|
|
volumes:
|
|
# Single data folder containing all databases
|
|
# Option 1: Docker named volume
|
|
- nats_console_data:/data
|
|
# Option 2: Local folder (uncomment below, comment above)
|
|
# - ./nats-console-data:/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:3000 && curl -f http://localhost:3001/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 120s
|
|
|
|
volumes:
|
|
nats_console_data:
|
|
name: nats-console-data
|
|
|
|
networks:
|
|
default:
|
|
name: nats-console-network
|