hyperdx/docker-compose.dev.yml

88 lines
3.2 KiB
YAML
Raw Permalink Normal View History

2024-12-07 00:27:23 +00:00
name: hdx-oss-dev
2024-11-12 12:53:15 +00:00
x-hyperdx-logging: &hyperdx-logging
driver: fluentd
options:
fluentd-address: tcp://localhost:24225
fluentd-async: 'true'
2024-11-12 12:53:15 +00:00
labels: 'service.name'
2023-09-13 04:25:01 +00:00
services:
db:
2024-11-12 12:53:15 +00:00
logging: *hyperdx-logging
labels:
service.name: 'hdx-oss-dev-db'
2023-09-13 04:25:01 +00:00
image: mongo:5.0.14-focal
volumes:
- .volumes/db_dev:/data/db
2023-09-13 04:25:01 +00:00
ports:
- 27017:27017
networks:
- internal
2024-11-12 12:53:15 +00:00
depends_on:
- otel-collector
2023-09-13 04:25:01 +00:00
otel-collector:
# image: otel/opentelemetry-collector-contrib:0.120.0
build:
context: ./docker/otel-collector
target: dev
environment:
CLICKHOUSE_ENDPOINT: 'tcp://ch-server:9000?dial_timeout=10s'
CLICKHOUSE_PROMETHEUS_METRICS_ENDPOINT: 'ch-server:9363'
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE: ${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
HYPERDX_API_KEY: ${HYPERDX_API_KEY}
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
OPAMP_SERVER_URL: 'http://host.docker.internal:${HYPERDX_OPAMP_PORT}'
CUSTOM_OTELCOL_CONFIG_FILE: '/etc/otelcol-contrib/custom.config.yaml'
# Uncomment to enable stdout logging for the OTel collector
OTEL_SUPERVISOR_PASSTHROUGH_LOGS: 'false'
# Uncomment to enable JSON schema in ClickHouse
# Be sure to also set BETA_CH_OTEL_JSON_SCHEMA_ENABLED to 'true' in ch-server
# OTEL_AGENT_FEATURE_GATE_ARG: '--feature-gates=clickhouse.json'
2023-09-13 04:25:01 +00:00
volumes:
- ./docker/otel-collector/config.yaml:/etc/otelcol-contrib/config.yaml
- ./docker/otel-collector/supervisor_docker.yaml.tmpl:/etc/otel/supervisor.yaml.tmpl
# Add a custom config file
- ./docker/otel-collector/custom.config.yaml:/etc/otelcol-contrib/custom.config.yaml
2023-09-13 04:25:01 +00:00
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
depends_on:
ch-server:
condition: service_healthy
2023-09-13 04:25:01 +00:00
ch-server:
image: clickhouse/clickhouse-server:25.7-alpine
2023-09-13 04:25:01 +00:00
ports:
- 8123:8123 # http api
- 9000:9000 # native
environment:
# default settings
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE: ${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
# Set to 'true' to allow for proper OTel JSON Schema creation
# Be sure to also set the OTEL_AGENT_FEATURE_GATE_ARG env in otel-collector
# BETA_CH_OTEL_JSON_SCHEMA_ENABLED: 'true'
2023-09-13 04:25:01 +00:00
volumes:
- ./docker/clickhouse/local/config.xml:/etc/clickhouse-server/config.xml
- ./docker/clickhouse/local/users.xml:/etc/clickhouse-server/users.xml
- ./docker/clickhouse/local/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh
- .volumes/ch_data_dev:/var/lib/clickhouse
- .volumes/ch_logs_dev:/var/log/clickhouse-server
2023-09-13 04:25:01 +00:00
restart: on-failure
networks:
- internal
healthcheck:
# "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'"
test:
wget -O /dev/null --no-verbose --tries=1 http://127.0.0.1:8123/ping ||
exit 1
interval: 1s
timeout: 1s
retries: 60
2023-09-13 04:25:01 +00:00
networks:
internal: