# TODO: migrate to V2 version: '3' services: go-parser: image: ${IMAGE_NAME}:${IMAGE_VERSION}-go-parser container_name: hdx-oss-go-parser environment: AGGREGATOR_API_URL: 'http://aggregator:8001' HYPERDX_API_KEY: ${HYPERDX_API_KEY} HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 OTEL_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} OTEL_SERVICE_NAME: hdx-oss-go-parser PORT: 7777 ports: - 7777:7777 networks: - internal miner: image: ${IMAGE_NAME}:${IMAGE_VERSION}-miner container_name: hdx-oss-miner environment: HYPERDX_API_KEY: ${HYPERDX_API_KEY} HYPERDX_ENABLE_ADVANCED_NETWORK_CAPTURE: 1 HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 OTEL_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} OTEL_SERVICE_NAME: hdx-oss-miner ports: - 5123:5123 networks: - internal hostmetrics: image: ${IMAGE_NAME}:${IMAGE_VERSION}-hostmetrics container_name: hdx-oss-hostmetrics environment: HYPERDX_API_KEY: ${HYPERDX_API_KEY} HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} OTEL_SERVICE_NAME: hostmetrics restart: always networks: - internal ingestor: image: ${IMAGE_NAME}:${IMAGE_VERSION}-ingestor container_name: hdx-oss-ingestor volumes: - .volumes/ingestor_data:/var/lib/vector ports: - 8002:8002 # http-generic - 8686:8686 # healthcheck environment: AGGREGATOR_API_URL: 'http://aggregator:8001' ENABLE_GO_PARSER: 'true' GO_PARSER_API_URL: 'http://go-parser:7777' RUST_BACKTRACE: full VECTOR_LOG: ${HYPERDX_LOG_LEVEL} VECTOR_OPENSSL_LEGACY_PROVIDER: 'false' restart: always networks: - internal redis: image: redis:7.0.11-alpine container_name: hdx-oss-redis volumes: - .volumes/redis:/data ports: - 6379:6379 networks: - internal db: image: mongo:5.0.14-focal container_name: hdx-oss-db volumes: - .volumes/db:/data/db ports: - 27017:27017 networks: - internal otel-collector: image: ${IMAGE_NAME}:${IMAGE_VERSION}-otel-collector container_name: hdx-oss-otel-collector environment: HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} INGESTOR_API_URL: 'http://ingestor:8002' ports: - '13133:13133' # health_check extension - '24225:24225' # fluentd receiver - '4317:4317' # OTLP gRPC receiver - '4318:4318' # OTLP http receiver - '8888:8888' # metrics extension restart: always networks: - internal aggregator: image: ${IMAGE_NAME}:${IMAGE_VERSION}-api container_name: hdx-oss-aggregator ports: - 8001:8001 environment: AGGREGATOR_PAYLOAD_SIZE_LIMIT: '144mb' APP_TYPE: 'aggregator' CLICKHOUSE_HOST: http://ch-server:8123 CLICKHOUSE_PASSWORD: aggregator CLICKHOUSE_USER: aggregator FRONTEND_URL: ${HYPERDX_APP_URL}:${HYPERDX_APP_PORT} # need to be localhost (CORS) HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} MONGO_URI: 'mongodb://db:27017/hyperdx' NODE_ENV: development PORT: 8001 REDIS_URL: redis://redis:6379 SERVER_URL: ${HYPERDX_API_URL}:${HYPERDX_API_PORT} networks: - internal depends_on: - db - redis - ch-server task-check-alerts: image: ${IMAGE_NAME}:${IMAGE_VERSION}-api container_name: hdx-oss-task-check-alerts entrypoint: 'node' command: './build/tasks/index.js check-alerts' environment: APP_TYPE: 'scheduled-task' CLICKHOUSE_HOST: http://ch-server:8123 CLICKHOUSE_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} CLICKHOUSE_PASSWORD: worker CLICKHOUSE_USER: worker EXPRESS_SESSION_SECRET: 'hyperdx is cool 👋' FRONTEND_URL: ${HYPERDX_APP_URL}:${HYPERDX_APP_PORT} # need to be localhost (CORS) HDX_NODE_ADVANCED_NETWORK_CAPTURE: 1 HDX_NODE_BETA_MODE: 0 HDX_NODE_CONSOLE_CAPTURE: 1 HYPERDX_API_KEY: ${HYPERDX_API_KEY} HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} INGESTOR_API_URL: 'http://ingestor:8002' MINER_API_URL: 'http://miner:5123' MONGO_URI: 'mongodb://db:27017/hyperdx' NODE_ENV: development OTEL_EXPORTER_OTLP_ENDPOINT: 'http://otel-collector:4318' OTEL_SERVICE_NAME: 'hdx-oss-task-check-alerts' REDIS_URL: redis://redis:6379 restart: always networks: - internal depends_on: - ch-server - db - redis api: image: ${IMAGE_NAME}:${IMAGE_VERSION}-api container_name: hdx-oss-api ports: - ${HYPERDX_API_PORT}:${HYPERDX_API_PORT} environment: AGGREGATOR_API_URL: 'http://aggregator:8001' APP_TYPE: 'api' CLICKHOUSE_HOST: http://ch-server:8123 CLICKHOUSE_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} CLICKHOUSE_PASSWORD: api CLICKHOUSE_USER: api EXPRESS_SESSION_SECRET: 'hyperdx is cool 👋' FRONTEND_URL: ${HYPERDX_APP_URL}:${HYPERDX_APP_PORT} # need to be localhost (CORS) HDX_NODE_ADVANCED_NETWORK_CAPTURE: 1 HDX_NODE_BETA_MODE: 1 HDX_NODE_CONSOLE_CAPTURE: 1 HYPERDX_API_KEY: ${HYPERDX_API_KEY} HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL} INGESTOR_API_URL: 'http://ingestor:8002' MINER_API_URL: 'http://miner:5123' MONGO_URI: 'mongodb://db:27017/hyperdx' NODE_ENV: development OTEL_EXPORTER_OTLP_ENDPOINT: 'http://otel-collector:4318' OTEL_SERVICE_NAME: 'hdx-oss-api' PORT: ${HYPERDX_API_PORT} REDIS_URL: redis://redis:6379 SERVER_URL: ${HYPERDX_API_URL}:${HYPERDX_API_PORT} USAGE_STATS_ENABLED: ${USAGE_STATS_ENABLED:-true} networks: - internal depends_on: - ch-server - db - redis app: image: ${IMAGE_NAME}:${IMAGE_VERSION}-app container_name: hdx-oss-app ports: - ${HYPERDX_APP_PORT}:${HYPERDX_APP_PORT} environment: NEXT_PUBLIC_API_SERVER_URL: 'http://localhost:8000' HYPERDX_API_KEY: ${HYPERDX_API_KEY} NODE_ENV: development PORT: ${HYPERDX_APP_PORT} networks: - internal depends_on: - api ch-server: image: clickhouse/clickhouse-server:23.8.8-alpine container_name: hdx-oss-ch-server ports: - 8123:8123 # http api - 9000:9000 # native environment: # default settings CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 volumes: - ./docker/clickhouse/local/config.xml:/etc/clickhouse-server/config.xml - ./docker/clickhouse/local/users.xml:/etc/clickhouse-server/users.xml - .volumes/ch_data:/var/lib/clickhouse - .volumes/ch_logs:/var/log/clickhouse-server restart: on-failure networks: - internal networks: internal: