version: "2.4" services: clickhouse: image: yandex/clickhouse-server:21.12.3.32 volumes: - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml restart: on-failure logging: options: max-size: 50m max-file: "3" healthcheck: # "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'" test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] interval: 30s timeout: 5s retries: 3 ports: - "9000:9000" - "8123:8123" alertmanager: image: signoz/alertmanager:0.23.0-0.1 depends_on: - query-service restart: on-failure command: - --queryService.url=http://query-service:8080 - --storage.path=/data # Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md` query-service: image: signoz/query-service:latest container_name: query-service command: ["-config=/root/config/prometheus.yml"] volumes: - ./prometheus.yml:/root/config/prometheus.yml - ../dashboards:/root/config/dashboards - ./data:/var/lib/signoz ports: - "8180:8080" environment: - ClickHouseUrl=tcp://clickhouse:9000/?database=signoz_traces - STORAGE=clickhouse - GODEBUG=netdns=go - TELEMETRY_ENABLED=true healthcheck: test: ["CMD", "wget", "--spider", "-q", "localhost:8080/api/v1/version"] interval: 30s timeout: 5s retries: 3 depends_on: clickhouse: condition: service_healthy otel-collector: image: signoz/otelcontribcol:0.43.0-0.1 command: ["--config=/etc/otel-collector-config.yaml"] volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - "4317:4317" # OTLP GRPC receiver mem_limit: 2000m restart: always depends_on: clickhouse: condition: service_healthy otel-collector-metrics: image: signoz/otelcontribcol:0.43.0-0.1 command: ["--config=/etc/otel-collector-metrics-config.yaml"] volumes: - ./otel-collector-metrics-config.yaml:/etc/otel-collector-metrics-config.yaml depends_on: clickhouse: condition: service_healthy hotrod: image: jaegertracing/example-hotrod:1.30 container_name: hotrod logging: options: max-size: 50m max-file: "3" command: ["all"] environment: - JAEGER_ENDPOINT=http://otel-collector:14268/api/traces load-hotrod: image: "grubykarol/locust:1.2.3-python3.9-alpine3.12" container_name: load-hotrod hostname: load-hotrod environment: ATTACKED_HOST: http://hotrod:8080 LOCUST_MODE: standalone NO_PROXY: standalone TASK_DELAY_FROM: 5 TASK_DELAY_TO: 30 QUIET_MODE: "${QUIET_MODE:-false}" LOCUST_OPTS: "--headless -u 10 -r 1" volumes: - ../../../../deploy/docker/common/locust-scripts:/locust