services: clickhouse: image: clickhouse/clickhouse-server:24.8-alpine container_name: netmind-clickhouse ports: - "8123:8123" - "9000:9000" volumes: - clickhouse_data:/var/lib/clickhouse - ./docker/clickhouse/init.sql:/docker-entrypoint-initdb.d/init.sql:ro environment: CLICKHOUSE_DB: netmind CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 ulimits: nofile: soft: 262144 hard: 262144 healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:8123/ping"] interval: 10s timeout: 5s retries: 5 start_period: 15s networks: - netmind qdrant: image: qdrant/qdrant:v1.12.5 container_name: netmind-qdrant ports: - "6333:6333" - "6334:6334" volumes: - qdrant_data:/qdrant/storage healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:6333/readyz"] interval: 10s timeout: 5s retries: 5 networks: - netmind backend: build: context: ./backend dockerfile: Dockerfile container_name: netmind-backend ports: - "8080:8080" env_file: - .env environment: CLICKHOUSE_URL: http://clickhouse:8123 CLICKHOUSE_DATABASE: netmind QDRANT_URL: http://qdrant:6333 COLLECTOR_TYPE: mock GEOIP_PROVIDER: static DNS_USE_LIVE: "false" NETMIND_ENV: development RUST_LOG: netmind_backend=info,tower_http=info depends_on: clickhouse: condition: service_healthy qdrant: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 15s timeout: 5s retries: 5 start_period: 20s networks: - netmind backend-ebpf: profiles: ["ebpf"] build: context: ./backend dockerfile: Dockerfile.ebpf container_name: netmind-backend-ebpf privileged: true cap_add: - BPF - NET_ADMIN - SYS_ADMIN ports: - "8080:8080" env_file: - .env environment: CLICKHOUSE_URL: http://clickhouse:8123 CLICKHOUSE_DATABASE: netmind QDRANT_URL: http://qdrant:6333 COLLECTOR_TYPE: ebpf GEOIP_PROVIDER: static DNS_USE_LIVE: "false" NETMIND_ENV: development RUST_LOG: netmind_backend=info,tower_http=info depends_on: clickhouse: condition: service_healthy qdrant: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 15s timeout: 5s retries: 5 start_period: 20s networks: - netmind frontend: build: context: ./frontend dockerfile: Dockerfile args: NEXT_PUBLIC_API_URL: http://localhost:8080 NEXT_PUBLIC_WS_URL: ws://localhost:8080/ws container_name: netmind-frontend ports: - "3000:3000" environment: NEXT_PUBLIC_API_URL: http://localhost:8080 NEXT_PUBLIC_WS_URL: ws://localhost:8080/ws depends_on: backend: condition: service_healthy networks: - netmind volumes: clickhouse_data: qdrant_data: networks: netmind: driver: bridge