UNPKG

@codai/cbd

Version:

Codai Better Database - High-Performance Vector Memory System with HPKV-inspired architecture and MCP server

154 lines (143 loc) 3.81 kB
# Docker Compose for CBD Enterprise Local Production Testing # # This file provides a local production-like environment for testing # the CBD Enterprise Engine with supporting services. version: '3.8' services: cbd-engine: build: context: . dockerfile: Dockerfile image: cbd-enterprise/cbd-engine:latest container_name: cbd-engine ports: - "8080:8080" - "9090:9090" environment: - RUST_LOG=info - CBD_CONFIG=/app/config/production.toml volumes: - cbd_data:/app/data - cbd_logs:/app/logs - ./docker/config/production.toml:/app/config/production.toml:ro - ./certs:/app/certs:ro networks: - cbd_network depends_on: - postgres - redis restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s postgres: image: postgres:15-alpine container_name: cbd-postgres environment: POSTGRES_DB: cbd_enterprise POSTGRES_USER: cbd_user POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-cbd_secure_password} volumes: - postgres_data:/var/lib/postgresql/data - ./docker/init:/docker-entrypoint-initdb.d:ro networks: - cbd_network ports: - "5432:5432" restart: unless-stopped redis: image: redis:7-alpine container_name: cbd-redis command: redis-server --requirepass ${REDIS_PASSWORD:-redis_secure_password} volumes: - redis_data:/data networks: - cbd_network ports: - "6379:6379" restart: unless-stopped prometheus: image: prom/prometheus:latest container_name: cbd-prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--storage.tsdb.retention.time=200h' - '--web.enable-lifecycle' ports: - "9091:9090" volumes: - prometheus_data:/prometheus - ./docker/prometheus:/etc/prometheus:ro networks: - cbd_network restart: unless-stopped grafana: image: grafana/grafana:latest container_name: cbd-grafana environment: - GF_SECURITY_ADMIN_USER=${GRAFANA_USER:-admin} - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin123} - GF_USERS_ALLOW_SIGN_UP=false ports: - "3000:3000" volumes: - grafana_data:/var/lib/grafana - ./docker/grafana:/etc/grafana:ro networks: - cbd_network depends_on: - prometheus restart: unless-stopped jaeger: image: jaegertracing/all-in-one:latest container_name: cbd-jaeger environment: - COLLECTOR_ZIPKIN_HOST_PORT=:9411 ports: - "16686:16686" - "14268:14268" networks: - cbd_network restart: unless-stopped nginx: image: nginx:alpine container_name: cbd-nginx ports: - "80:80" - "443:443" volumes: - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./certs:/etc/nginx/certs:ro - nginx_logs:/var/log/nginx networks: - cbd_network depends_on: - cbd-engine restart: unless-stopped volumes: cbd_data: driver: local cbd_logs: driver: local postgres_data: driver: local redis_data: driver: local prometheus_data: driver: local grafana_data: driver: local nginx_logs: driver: local networks: cbd_network: driver: bridge ipam: config: - subnet: 172.20.0.0/16