2024-10-07 14:54:50 +02:00
x-clickhouse-defaults : &clickhouse-defaults
restart : on -failure
# addding non LTS version due to this fix https://github.com/ClickHouse/ClickHouse/commit/32caf8716352f45c1b617274c7508c86b7d1afab
image : clickhouse/clickhouse-server:24.1.2-alpine
tty : true
depends_on :
- zookeeper-1
# - zookeeper-2
# - zookeeper-3
logging :
options :
max-size : 50m
max-file : "3"
healthcheck :
# "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'"
2024-12-26 14:28:44 +00:00
test : [ "CMD" , "wget" , "--spider" , "-q" , "0.0.0.0:8123/ping" ]
2024-10-07 14:54:50 +02:00
interval : 30s
timeout : 5s
retries : 3
ulimits :
nproc : 65535
nofile :
soft : 262144
hard : 262144
x-db-depend : &db-depend
depends_on :
clickhouse :
condition : service_healthy
2024-10-23 00:05:10 +05:30
otel-collector-migrator-sync :
2024-10-07 14:54:50 +02:00
condition : service_completed_successfully
2024-12-26 14:28:44 +00:00
# clickhouse-2:
# condition: service_healthy
# clickhouse-3:
# condition: service_healthy
2024-10-07 14:54:50 +02:00
services :
zookeeper-1 :
image : bitnami/zookeeper:3.7.1
container_name : signoz-zookeeper-1
hostname : zookeeper-1
user : root
ports :
- "2181:2181"
- "2888:2888"
- "3888:3888"
volumes :
- ./data/zookeeper-1:/bitnami/zookeeper
environment :
- ZOO_SERVER_ID=1
# - ZOO_SERVERS=0.0.0.0:2888:3888,zookeeper-2:2888:3888,zookeeper-3:2888:3888
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_AUTOPURGE_INTERVAL=1
# zookeeper-2:
# image: bitnami/zookeeper:3.7.0
# container_name: signoz-zookeeper-2
# hostname: zookeeper-2
# user: root
# ports:
# - "2182:2181"
# - "2889:2888"
# - "3889:3888"
# volumes:
# - ./data/zookeeper-2:/bitnami/zookeeper
# environment:
# - ZOO_SERVER_ID=2
# - ZOO_SERVERS=zookeeper-1:2888:3888,0.0.0.0:2888:3888,zookeeper-3:2888:3888
# - ALLOW_ANONYMOUS_LOGIN=yes
# - ZOO_AUTOPURGE_INTERVAL=1
# zookeeper-3:
# image: bitnami/zookeeper:3.7.0
# container_name: signoz-zookeeper-3
# hostname: zookeeper-3
# user: root
# ports:
# - "2183:2181"
# - "2890:2888"
# - "3890:3888"
# volumes:
# - ./data/zookeeper-3:/bitnami/zookeeper
# environment:
# - ZOO_SERVER_ID=3
# - ZOO_SERVERS=zookeeper-1:2888:3888,zookeeper-2:2888:3888,0.0.0.0:2888:3888
# - ALLOW_ANONYMOUS_LOGIN=yes
# - ZOO_AUTOPURGE_INTERVAL=1
clickhouse :
2024-12-26 14:28:44 +00:00
!!merge << : *clickhouse-defaults
2024-10-07 14:54:50 +02:00
container_name : signoz-clickhouse
hostname : clickhouse
ports :
- "9000:9000"
- "8123:8123"
- "9181:9181"
volumes :
- ./clickhouse-config.xml:/etc/clickhouse-server/config.xml
- ./clickhouse-users.xml:/etc/clickhouse-server/users.xml
- ./custom-function.xml:/etc/clickhouse-server/custom-function.xml
- ./clickhouse-cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
# - ./clickhouse-storage.xml:/etc/clickhouse-server/config.d/storage.xml
- ./data/clickhouse/:/var/lib/clickhouse/
- ./user_scripts:/var/lib/clickhouse/user_scripts/
# clickhouse-2:
# <<: *clickhouse-defaults
# container_name: signoz-clickhouse-2
# hostname: clickhouse-2
# ports:
# - "9001:9000"
# - "8124:8123"
# - "9182:9181"
# volumes:
# - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml
# - ./clickhouse-users.xml:/etc/clickhouse-server/users.xml
# - ./custom-function.xml:/etc/clickhouse-server/custom-function.xml
# - ./clickhouse-cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
# # - ./clickhouse-storage.xml:/etc/clickhouse-server/config.d/storage.xml
# - ./data/clickhouse-2/:/var/lib/clickhouse/
# - ./user_scripts:/var/lib/clickhouse/user_scripts/
# clickhouse-3:
# <<: *clickhouse-defaults
# container_name: signoz-clickhouse-3
# hostname: clickhouse-3
# ports:
# - "9002:9000"
# - "8125:8123"
# - "9183:9181"
# volumes:
# - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml
# - ./clickhouse-users.xml:/etc/clickhouse-server/users.xml
# - ./custom-function.xml:/etc/clickhouse-server/custom-function.xml
# - ./clickhouse-cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
# # - ./clickhouse-storage.xml:/etc/clickhouse-server/config.d/storage.xml
# - ./data/clickhouse-3/:/var/lib/clickhouse/
# - ./user_scripts:/var/lib/clickhouse/user_scripts/
alertmanager :
2024-10-10 15:34:29 +05:30
image : signoz/alertmanager:${ALERTMANAGER_TAG:-0.23.7}
2024-10-07 14:54:50 +02:00
container_name : signoz-alertmanager
volumes :
- ./data/alertmanager:/data
depends_on :
query-service :
condition : service_healthy
restart : on -failure
command :
- --queryService.url=http://query-service:8085
- --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 :
2025-01-22 15:12:06 +05:30
image : signoz/query-service:${DOCKER_TAG:-0.69.0}
2024-10-07 14:54:50 +02:00
container_name : signoz-query-service
2024-12-26 14:28:44 +00:00
command : [ "-config=/root/config/prometheus.yml" , "--use-logs-new-schema=true" , "--use-trace-new-schema=true" ]
2024-10-07 14:54:50 +02:00
# ports:
# - "6060:6060" # pprof port
# - "8080:8080" # query-service port
volumes :
- ./prometheus.yml:/root/config/prometheus.yml
- ../dashboards:/root/config/dashboards
- ./data/signoz/:/var/lib/signoz/
environment :
- ClickHouseUrl=tcp://clickhouse:9000
- ALERTMANAGER_API_PREFIX=http://alertmanager:9093/api/
- SIGNOZ_LOCAL_DB_PATH=/var/lib/signoz/signoz.db
- DASHBOARDS_PATH=/root/config/dashboards
- STORAGE=clickhouse
- GODEBUG=netdns=go
- TELEMETRY_ENABLED=true
- DEPLOYMENT_TYPE=docker-standalone-amd
restart : on -failure
healthcheck :
2024-12-26 14:28:44 +00:00
test : [ "CMD" , "wget" , "--spider" , "-q" , "localhost:8080/api/v1/health" ]
2024-10-07 14:54:50 +02:00
interval : 30s
timeout : 5s
retries : 3
2024-12-26 14:28:44 +00:00
!!merge << : *db-depend
2024-10-07 14:54:50 +02:00
frontend :
2025-01-22 15:12:06 +05:30
image : signoz/frontend:${DOCKER_TAG:-0.69.0}
2024-10-07 14:54:50 +02:00
container_name : signoz-frontend
restart : on -failure
depends_on :
- alertmanager
- query-service
ports :
- "3301:3301"
volumes :
- ../common/nginx-config.conf:/etc/nginx/conf.d/default.conf
2024-10-23 00:05:10 +05:30
otel-collector-migrator-sync :
2025-01-22 15:12:06 +05:30
image : signoz/signoz-schema-migrator:${OTELCOL_TAG:-0.111.24}
2024-10-23 00:05:10 +05:30
container_name : otel-migrator-sync
2024-10-07 14:54:50 +02:00
command :
2024-10-23 00:05:10 +05:30
- "sync"
2024-10-07 14:54:50 +02:00
- "--dsn=tcp://clickhouse:9000"
2024-10-23 00:05:10 +05:30
- "--up="
2024-10-07 14:54:50 +02:00
depends_on :
clickhouse :
condition : service_healthy
2024-12-26 14:28:44 +00:00
# clickhouse-2:
# condition: service_healthy
# clickhouse-3:
# condition: service_healthy
2024-10-23 00:05:10 +05:30
otel-collector-migrator-async :
2025-01-22 15:12:06 +05:30
image : signoz/signoz-schema-migrator:${OTELCOL_TAG:-0.111.24}
2024-10-23 00:05:10 +05:30
container_name : otel-migrator-async
command :
- "async"
- "--dsn=tcp://clickhouse:9000"
- "--up="
depends_on :
clickhouse :
condition : service_healthy
otel-collector-migrator-sync :
condition : service_completed_successfully
2024-12-26 14:28:44 +00:00
# clickhouse-2:
# condition: service_healthy
# clickhouse-3:
# condition: service_healthy
2024-10-07 14:54:50 +02:00
otel-collector :
2025-01-22 15:12:06 +05:30
image : signoz/signoz-otel-collector:${OTELCOL_TAG:-0.111.24}
2024-10-07 14:54:50 +02:00
container_name : signoz-otel-collector
2024-12-26 14:28:44 +00:00
command : [ "--config=/etc/otel-collector-config.yaml" , "--manager-config=/etc/manager-config.yaml" , "--copy-path=/var/tmp/collector-config.yaml" , "--feature-gates=-pkg.translator.prometheus.NormalizeName" ]
2024-10-07 14:54:50 +02:00
user : root # required for reading docker container logs
volumes :
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
- ./otel-collector-opamp-config.yaml:/etc/manager-config.yaml
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /:/hostfs:ro
environment :
- OTEL_RESOURCE_ATTRIBUTES=host.name=signoz-host,os.type=linux
- LOW_CARDINAL_EXCEPTION_GROUPING=false
ports :
# - "1777:1777" # pprof extension
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP HTTP receiver
# - "8888:8888" # OtelCollector internal metrics
# - "8889:8889" # signoz spanmetrics exposed by the agent
# - "9411:9411" # Zipkin port
# - "13133:13133" # health check extension
# - "14250:14250" # Jaeger gRPC
# - "14268:14268" # Jaeger thrift HTTP
# - "55678:55678" # OpenCensus receiver
# - "55679:55679" # zPages extension
restart : on -failure
depends_on :
clickhouse :
condition : service_healthy
2024-10-23 00:05:10 +05:30
otel-collector-migrator-sync :
2024-10-07 14:54:50 +02:00
condition : service_completed_successfully
query-service :
condition : service_healthy
logspout :
image : "gliderlabs/logspout:v3.2.14"
container_name : signoz-logspout
volumes :
- /etc/hostname:/etc/host_hostname:ro
- /var/run/docker.sock:/var/run/docker.sock
command : syslog+tcp://otel-collector:2255
depends_on :
- otel-collector
restart : on -failure