hyperdx/docker-compose.yml

216 lines
6.6 KiB
YAML

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: 'false'
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
- '1888:1888' # pprof extension
- '24225:24225' # fluentd receiver
- '4317:4317' # OTLP gRPC receiver
- '4318:4318' # OTLP http receiver
- '55679:55679' # zpages extension
- '8888:8888' # metrics extension
- '9411:9411' # zipkin
restart: always
networks:
- internal
aggregator:
image: ${IMAGE_NAME}:${IMAGE_VERSION}-api
container_name: hdx-oss-aggregator
ports:
- 8001:8001
environment:
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
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:
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: