diff --git a/blueprints/signoz/docker-compose.yml b/blueprints/signoz/docker-compose.yml
new file mode 100644
index 00000000..f059d3ac
--- /dev/null
+++ b/blueprints/signoz/docker-compose.yml
@@ -0,0 +1,185 @@
+services:
+ otel-conf:
+ image: alpine:3.20
+ command:
+ - /bin/sh
+ - -lc
+ - |
+ cat > /otel/config.yaml <<'YAML'
+ receivers:
+ otlp:
+ protocols:
+ grpc:
+ endpoint: 0.0.0.0:4317
+ http:
+ endpoint: 0.0.0.0:4318
+
+ processors:
+ batch:
+
+ exporters:
+ clickhousetraces:
+ datasource: tcp://clickhouse:9000/signoz_traces
+ use_new_schema: true
+
+ clickhousemetricswrite:
+ endpoint: tcp://clickhouse:9000/signoz_metrics
+ timeout: 15s
+ resource_to_telemetry_conversion:
+ enabled: true
+
+ clickhouselogsexporter:
+ dsn: tcp://clickhouse:9000/signoz_logs
+ timeout: 10s
+ use_new_schema: true
+
+ metadataexporter:
+ dsn: tcp://clickhouse:9000/signoz_metadata
+ timeout: 10s
+
+ service:
+ pipelines:
+ traces:
+ receivers: [otlp]
+ processors: [batch]
+ exporters: [clickhousetraces, metadataexporter]
+ metrics:
+ receivers: [otlp]
+ processors: [batch]
+ exporters: [clickhousemetricswrite, metadataexporter]
+ logs:
+ receivers: [otlp]
+ processors: [batch]
+ exporters: [clickhouselogsexporter, metadataexporter]
+ YAML
+ volumes:
+ - otel-config:/otel
+ restart: "no"
+
+ ch-conf:
+ image: alpine:3.20
+ command:
+ - /bin/sh
+ - -lc
+ - |
+ cat > /config/cluster.xml <<'XML'
+
+
+
+
+
+
+ clickhouse
+ 9000
+
+
+
+
+
+
+ zookeeper-1
+ 2181
+
+
+
+ /clickhouse/task_queue/ddl
+
+
+ XML
+ volumes:
+ - ch-config:/config
+ restart: "no"
+
+ zookeeper-1:
+ image: bitnami/zookeeper:3.9
+ restart: unless-stopped
+ environment:
+ - ALLOW_ANONYMOUS_LOGIN=yes
+ - ZOO_4LW_COMMANDS_WHITELIST=ruok,stat,envi,conf,mntr
+ healthcheck:
+ test: ["CMD-SHELL", "echo ruok | nc -w 2 127.0.0.1 2181 | grep imok"]
+ interval: 30s
+ timeout: 5s
+ retries: 3
+ volumes:
+ - zookeeper-data:/bitnami/zookeeper
+
+ clickhouse:
+ image: clickhouse/clickhouse-server:24.1.2-alpine
+ restart: unless-stopped
+ depends_on:
+ ch-conf:
+ condition: service_completed_successfully
+ ulimits:
+ nproc: 65535
+ nofile:
+ soft: 262144
+ hard: 262144
+ healthcheck:
+ test: ["CMD","wget","--spider","-q","0.0.0.0:8123/ping"]
+ interval: 30s
+ timeout: 5s
+ retries: 3
+ volumes:
+ - clickhouse-data:/var/lib/clickhouse
+ - ch-config:/etc/clickhouse-server/config.d
+
+ schema-migrator-sync:
+ image: signoz/signoz-schema-migrator:v0.129.0
+ command: ["sync","--dsn=tcp://clickhouse:9000","--cluster-name=cluster","--up="]
+ depends_on:
+ clickhouse:
+ condition: service_healthy
+ restart: "no"
+
+ schema-migrator-async:
+ image: signoz/signoz-schema-migrator:v0.129.0
+ command: ["async","--dsn=tcp://clickhouse:9000","--cluster-name=cluster","--up="]
+ depends_on:
+ clickhouse:
+ condition: service_healthy
+ schema-migrator-sync:
+ condition: service_completed_successfully
+ restart: unless-stopped
+
+ signoz:
+ image: signoz/signoz:v0.92.1
+ depends_on:
+ clickhouse:
+ condition: service_healthy
+ schema-migrator-sync:
+ condition: service_completed_successfully
+ environment:
+ - STORAGE=clickhouse
+ - SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://clickhouse:9000
+ - SIGNOZ_ANALYTICS_ENABLED=false
+ - SIGNOZ_JWT_SECRET=${SIGNOZ_JWT_SECRET}
+ ports:
+ - 8080
+ restart: unless-stopped
+ volumes:
+ - signoz-data:/var/lib/signoz
+
+ signoz-otel-collector:
+ image: signoz/signoz-otel-collector:v0.129.0
+ depends_on:
+ clickhouse:
+ condition: service_healthy
+ otel-conf:
+ condition: service_completed_successfully
+ schema-migrator-sync:
+ condition: service_completed_successfully
+ command: ["--config=/etc/otelcol/config.yaml"]
+ volumes:
+ - otel-config:/etc/otelcol:ro
+ ports:
+ - 4317
+ - 4318
+ restart: unless-stopped
+
+volumes:
+ clickhouse-data:
+ ch-config:
+ zookeeper-data:
+ signoz-data:
+ otel-config:
\ No newline at end of file
diff --git a/blueprints/signoz/signoz.svg b/blueprints/signoz/signoz.svg
new file mode 100644
index 00000000..8ae9a3d8
--- /dev/null
+++ b/blueprints/signoz/signoz.svg
@@ -0,0 +1,5 @@
+
diff --git a/blueprints/signoz/template.toml b/blueprints/signoz/template.toml
new file mode 100644
index 00000000..27cd9581
--- /dev/null
+++ b/blueprints/signoz/template.toml
@@ -0,0 +1,13 @@
+[variables]
+main_domain = "${domain}"
+jwt_secret = "${password:64}"
+
+[config]
+[[config.domains]]
+serviceName = "signoz"
+port = 8080
+host = "${main_domain}"
+path = "/"
+
+[config.env]
+SIGNOZ_JWT_SECRET = "${jwt_secret}"
diff --git a/meta.json b/meta.json
index e4ed82f6..0a4e3a70 100644
--- a/meta.json
+++ b/meta.json
@@ -3954,6 +3954,27 @@
"url"
]
},
+ {
+ "id": "signoz",
+ "name": "SigNoz",
+ "version": "v0.92.1",
+ "description": "SigNoz is an open-source Datadog or New Relic alternative. Get APM, logs,traces, metrics, exceptions, & alerts in a single tool.",
+ "logo": "signoz.svg",
+ "links": {
+ "github": "https://github.com/SigNoz/signoz",
+ "website": "https://signoz.io/",
+ "docs": "https://signoz.io/docs/"
+ },
+ "tags": [
+ "monitoring",
+ "observability",
+ "metrics",
+ "traces",
+ "logs",
+ "opentelemetry",
+ "apm"
+ ]
+ },
{
"id": "slash",
"name": "Slash",