Add template for SigNoz #4

Closed
opened 2025-11-22 20:29:00 -06:00 by GiteaMirror · 6 comments
Owner

Originally created by @maelp on GitHub (Jan 26, 2025).

What problem will this feature address?

It's a nice way to add observability to your apps: https://github.com/SigNoz/signoz

Describe the solution you'd like

Add it to the templates

Describe alternatives you've considered

Do it manually

Additional context

No response

Will you send a PR to implement it?

Maybe, need help

Originally created by @maelp on GitHub (Jan 26, 2025). ### What problem will this feature address? It's a nice way to add observability to your apps: https://github.com/SigNoz/signoz ### Describe the solution you'd like Add it to the templates ### Describe alternatives you've considered Do it manually ### Additional context _No response_ ### Will you send a PR to implement it? Maybe, need help
GiteaMirror added the template label 2025-11-22 20:29:00 -06:00
Author
Owner

@zippoxer commented on GitHub (May 8, 2025):

@maelp please review #119 🙏

@zippoxer commented on GitHub (May 8, 2025): @maelp please review #119 🙏
Author
Owner

@maelp commented on GitHub (May 8, 2025):

Looks really good! I'm not sure if it's possible to test the template somehow on my instance

@maelp commented on GitHub (May 8, 2025): Looks really good! I'm not sure if it's possible to test the template somehow on my instance
Author
Owner

@zippoxer commented on GitHub (May 8, 2025):

re-opened at https://github.com/Dokploy/templates/pull/120

@maelp yeah i wasn't sure how to test this, so i created a Compose on Dokploy and set it on Git at https://github.com/zippoxer/dokploy-templates and Compose Path to ./blueprints/signoz/docker-compose.yml

so far it works, however i didn't test anything yet beyond the UI loading :)

@zippoxer commented on GitHub (May 8, 2025): re-opened at https://github.com/Dokploy/templates/pull/120 @maelp yeah i wasn't sure how to test this, so i created a Compose on Dokploy and set it on Git at https://github.com/zippoxer/dokploy-templates and Compose Path to `./blueprints/signoz/docker-compose.yml` so far it works, however i didn't test anything yet beyond the UI loading :)
Author
Owner

@rftglyv commented on GitHub (Jul 8, 2025):

Hi, when will SigNoz be added as template?

@rftglyv commented on GitHub (Jul 8, 2025): Hi, when will SigNoz be added as template?
Author
Owner

@renegadevi commented on GitHub (Aug 23, 2025):

I just got it working today. Maybe not the cleanest docker-compose but it works.

Step 1. Create Service -> Compose

Step 2. Go to application -> Environment

(generate key example from https://jwtsecrets.com/)

SIGNOZ_JWT_SECRET=9bb40c76388ecfb3d467e1b30b60e8e3

Step 3. Application -> General

Provider: Raw

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"
    networks:
      - dokploy-network
  ch-conf:
    image: alpine:3.20
    command:
      - /bin/sh
      - -lc
      - |
        cat > /config/cluster.xml <<'XML'
        <?xml version="1.0"?>
        <clickhouse>
          <remote_servers>
            <cluster>
              <shard>
                <replica>
                  <host>clickhouse</host>
                  <port>9000</port>
                </replica>
              </shard>
            </cluster>
          </remote_servers>
          <zookeeper>
            <node index="1">
              <host>zookeeper-1</host>
              <port>2181</port>
            </node>
          </zookeeper>
          <distributed_ddl>
            <path>/clickhouse/task_queue/ddl</path>
          </distributed_ddl>
        </clickhouse>
        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
    networks:
      - dokploy-network

  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
    networks:
      - dokploy-network

  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"
    networks:
      - dokploy-network

  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
    networks:
      - dokploy-network

  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:?set-a-strong-random-string}
    ports:
      - "3301:8080"
    restart: unless-stopped
    labels:
      - traefik.enable=true
      - traefik.docker.network=dokploy-network
      - traefik.http.routers.signoz.rule=Host(`signoz.mydomain.com`)
      - traefik.http.routers.signoz.entrypoints=web
      - traefik.http.services.signoz.loadbalancer.server.port=8080
    networks:
      - dokploy-network
    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:4317"
      - "4318:4318"
    restart: unless-stopped
    networks:
      - dokploy-network

volumes:
  clickhouse-data:
  ch-config:
  zookeeper-data:
  signoz-data:
  otel-config:

networks:
  dokploy-network:
    external: true

Note:
Replace the Host value with your domain (or IP of VPS)
- traefik.http.routers.signoz.rule=Host(signoz.mydomain.com)

Step 4. Application -> Deploy

Wait a while until the last lines of:

Container app-signoz-jtmo2o-signoz-1  Started
Container app-signoz-jtmo2o-signoz-otel-collector-1  Started
Docker Compose Deployed: ✅

Step 5. Application -> Domains

Add Domain:

  • Service name: signoz
  • Host: signoz.mydomain.com
  • Path: /
  • Container port: 8080
  • (optional SSL)
    ... Press "Update"

Wait some seconds and you can open the link... Done.
and you get greeted with the sign up screen.

edit:
I also saw there was a open issue #285 not sure if it's placed better here or there. @thaarrtt
I haven't tested all features in SigNoz as I don't use all of it.

@renegadevi commented on GitHub (Aug 23, 2025): I just got it working today. Maybe not the cleanest docker-compose but it works. ### Step 1. Create Service -> Compose ### Step 2. Go to application -> Environment (generate key example from https://jwtsecrets.com/) ```ini SIGNOZ_JWT_SECRET=9bb40c76388ecfb3d467e1b30b60e8e3 ``` ### Step 3. Application -> General Provider: Raw ```yaml 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" networks: - dokploy-network ch-conf: image: alpine:3.20 command: - /bin/sh - -lc - | cat > /config/cluster.xml <<'XML' <?xml version="1.0"?> <clickhouse> <remote_servers> <cluster> <shard> <replica> <host>clickhouse</host> <port>9000</port> </replica> </shard> </cluster> </remote_servers> <zookeeper> <node index="1"> <host>zookeeper-1</host> <port>2181</port> </node> </zookeeper> <distributed_ddl> <path>/clickhouse/task_queue/ddl</path> </distributed_ddl> </clickhouse> 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 networks: - dokploy-network 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 networks: - dokploy-network 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" networks: - dokploy-network 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 networks: - dokploy-network 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:?set-a-strong-random-string} ports: - "3301:8080" restart: unless-stopped labels: - traefik.enable=true - traefik.docker.network=dokploy-network - traefik.http.routers.signoz.rule=Host(`signoz.mydomain.com`) - traefik.http.routers.signoz.entrypoints=web - traefik.http.services.signoz.loadbalancer.server.port=8080 networks: - dokploy-network 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:4317" - "4318:4318" restart: unless-stopped networks: - dokploy-network volumes: clickhouse-data: ch-config: zookeeper-data: signoz-data: otel-config: networks: dokploy-network: external: true ``` Note: Replace the Host value with your domain (or IP of VPS) ` - traefik.http.routers.signoz.rule=Host(`signoz.mydomain.com`)` ### Step 4. Application -> Deploy Wait a while until the last lines of: ``` Container app-signoz-jtmo2o-signoz-1 Started Container app-signoz-jtmo2o-signoz-otel-collector-1 Started Docker Compose Deployed: ✅ ``` ### Step 5. Application -> Domains Add Domain: - Service name: signoz - Host: signoz.mydomain.com - Path: / - Container port: 8080 - (optional SSL) ... Press "Update" Wait some seconds and you can open the link... Done. and you get greeted with the sign up screen. edit: I also saw there was a open issue #285 not sure if it's placed better here or there. @thaarrtt I haven't tested all features in SigNoz as I don't use all of it.
Author
Owner

@jhorlima commented on GitHub (Aug 23, 2025):

I just got it working today. Maybe not the cleanest docker-compose but it works.

Step 1. Create Service -> Compose

Step 2. Go to application -> Environment

(generate key example from https://jwtsecrets.com/)

SIGNOZ_JWT_SECRET=9bb40c76388ecfb3d467e1b30b60e8e3

Step 3. Application -> General

Provider: Raw

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"
networks:
  - dokploy-network

ch-conf:
image: alpine:3.20
command:
- /bin/sh
- -lc
- |
cat > /config/cluster.xml <<'XML'
<?xml version="1.0"?>

<remote_servers>



clickhouse
9000



</remote_servers>


zookeeper-1
2181


<distributed_ddl>
/clickhouse/task_queue/ddl
</distributed_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
networks:
- dokploy-network

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
networks:
- dokploy-network

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"
networks:
- dokploy-network

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
networks:
- dokploy-network

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:?set-a-strong-random-string}
ports:
- "3301:8080"
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.docker.network=dokploy-network
- traefik.http.routers.signoz.rule=Host(signoz.mydomain.com)
- traefik.http.routers.signoz.entrypoints=web
- traefik.http.services.signoz.loadbalancer.server.port=8080
networks:
- dokploy-network
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:4317"
- "4318:4318"
restart: unless-stopped
networks:
- dokploy-network

volumes:
clickhouse-data:
ch-config:
zookeeper-data:
signoz-data:
otel-config:

networks:
dokploy-network:
external: true
Note: Replace the Host value with your domain (or IP of VPS) - traefik.http.routers.signoz.rule=Host(signoz.mydomain.com)

Step 4. Application -> Deploy

Wait a while until the last lines of:

Container app-signoz-jtmo2o-signoz-1  Started
Container app-signoz-jtmo2o-signoz-otel-collector-1  Started
Docker Compose Deployed: ✅

Step 5. Application -> Domains

Add Domain:

  • Service name: signoz
  • Host: signoz.mydomain.com
  • Path: /
  • Container port: 8080
  • (optional SSL)
    ... Press "Update"

Wait some seconds and you can open the link... Done. and you get greeted with the sign up screen.

edit: I also saw there was a open issue #285 not sure if it's placed better here or there. @thaarrtt I haven't tested all features in SigNoz as I don't use all of it.

Congratulations, this looks great, but wouldn't it be better to use the File Mount Volume to create the files instead of using the command?

@jhorlima commented on GitHub (Aug 23, 2025): > I just got it working today. Maybe not the cleanest docker-compose but it works. > > ### Step 1. Create Service -> Compose > ### Step 2. Go to application -> Environment > (generate key example from https://jwtsecrets.com/) > > SIGNOZ_JWT_SECRET=9bb40c76388ecfb3d467e1b30b60e8e3 > ### Step 3. Application -> General > Provider: Raw > > 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" > networks: > - dokploy-network > ch-conf: > image: alpine:3.20 > command: > - /bin/sh > - -lc > - | > cat > /config/cluster.xml <<'XML' > <?xml version="1.0"?> > <clickhouse> > <remote_servers> > <cluster> > <shard> > <replica> > <host>clickhouse</host> > <port>9000</port> > </replica> > </shard> > </cluster> > </remote_servers> > <zookeeper> > <node index="1"> > <host>zookeeper-1</host> > <port>2181</port> > </node> > </zookeeper> > <distributed_ddl> > <path>/clickhouse/task_queue/ddl</path> > </distributed_ddl> > </clickhouse> > 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 > networks: > - dokploy-network > > 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 > networks: > - dokploy-network > > 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" > networks: > - dokploy-network > > 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 > networks: > - dokploy-network > > 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:?set-a-strong-random-string} > ports: > - "3301:8080" > restart: unless-stopped > labels: > - traefik.enable=true > - traefik.docker.network=dokploy-network > - traefik.http.routers.signoz.rule=Host(`signoz.mydomain.com`) > - traefik.http.routers.signoz.entrypoints=web > - traefik.http.services.signoz.loadbalancer.server.port=8080 > networks: > - dokploy-network > 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:4317" > - "4318:4318" > restart: unless-stopped > networks: > - dokploy-network > > volumes: > clickhouse-data: > ch-config: > zookeeper-data: > signoz-data: > otel-config: > > networks: > dokploy-network: > external: true > Note: Replace the Host value with your domain (or IP of VPS) ` - traefik.http.routers.signoz.rule=Host(`signoz.mydomain.com`)` > > ### Step 4. Application -> Deploy > Wait a while until the last lines of: > > ``` > Container app-signoz-jtmo2o-signoz-1 Started > Container app-signoz-jtmo2o-signoz-otel-collector-1 Started > Docker Compose Deployed: ✅ > ``` > > ### Step 5. Application -> Domains > Add Domain: > > * Service name: signoz > * Host: signoz.mydomain.com > * Path: / > * Container port: 8080 > * (optional SSL) > ... Press "Update" > > Wait some seconds and you can open the link... Done. and you get greeted with the sign up screen. > > edit: I also saw there was a open issue [#285](https://github.com/Dokploy/templates/issues/285) not sure if it's placed better here or there. [@thaarrtt](https://github.com/thaarrtt) I haven't tested all features in SigNoz as I don't use all of it. Congratulations, this looks great, but wouldn't it be better to use the File Mount Volume to create the files instead of using the command?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/templates#4