Docker Standalone

💡 Tip

The easiest way to run SigNoz is to use SigNoz Cloud - no installation, maintenance, or scaling needed.

New users get 30 days of unlimited access to all features. Click here to sign up.

SigNoz can be installed on macOS or Linux computers, and there are two ways in which you can install SigNoz:

  • You may execute a script that checks your environment, installs Docker Engine and Docker Compose on Linux, and runs the docker compose up command for you.
  • You may execute the docker compose up command yourself.

Both methods are provided below.

✅ Info

SigNoz recommends you to use the install script on macOS and the following Linux distributions:

  • Ubuntu
  • Debian
  • OpenSuse
  • CentOS
  • SUSE Linux Enterprise Server (SLES)

If you're using a different Linux distribution, see the Install SigNoz Using Docker Compose section.

Prerequisites

  • A Linux or macOS machine. Microsoft Windows is not officially supported.
  • On macOS, you must manually install Docker Engine before you run the install script. The install script automatically installs Docker Engine on Linux.
  • A minimum of 4GB of memory must be allocated to Docker.
  • Git client
  • Ensure that the ports 3301, 4317 and 4318 are open on the machine where you install SigNoz.

Install SigNoz Using the Install Script

✅ Info

Please use non-root user (mainly for Git repository cloning), otherwise you may end up seeing file system permissions errors after the installation.

  1. In a directory of your choosing, clone the SigNoz repository and 'cd' into the signoz/deploy directory by entering the following commands:

    git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/
    
  2. Run the install.sh script:

    cd deploy
    ./install.sh
    

Install SigNoz Using Docker Compose

✅ Info

Before you install Signoz, ensure that Docker Compose is installed on your machine.

  1. In a directory of your choosing, clone the SigNoz repository and 'cd' into the signoz/deploy directory by entering the following commands:

    git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/
    
  2. To install SigNoz, enter the docker compose up command, specifying the following:

    • -f and the path to your configuration file
    • -d to run containers in the background
    • --remove-orphans to remove orphaned containers
cd deploy/docker
docker compose up -d --remove-orphans

Verify the Installation

  1. Ensure that your containers are running correctly. To view the status of your containers, run the following command:
docker ps

The output should look similar to the following:

CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                    PORTS                                    NAMES
e484b23a8f61   signoz/frontend:0.69.0                       "nginx -g 'daemon of…"   47 minutes ago   Up 45 minutes             80/tcp, 0.0.0.0:3301->3301/tcp           signoz-frontend
afd3e434e853   signoz/signoz-otel-collector:0.111.24        "/signoz-collector -…"   47 minutes ago   Up 45 minutes             0.0.0.0:4317-4318->4317-4318/tcp         signoz-otel-collector
7a59a3599574   signoz/alertmanager:0.23.7                   "/bin/alertmanager -…"   47 minutes ago   Up 45 minutes             9093/tcp                                 signoz-alertmanager
c0b6e58d3d18   signoz/query-service:0.69.0                  "./query-service --c…"   47 minutes ago   Up 46 minutes (healthy)   8080/tcp                                 signoz-query-service
69431900f6ef   clickhouse/clickhouse-server:24.1.2-alpine   "/entrypoint.sh"         47 minutes ago   Up 47 minutes (healthy)   8123/tcp, 9000/tcp, 9009/tcp             signoz-clickhouse
8b69f876a3c7   bitnami/zookeeper:3.7.1                      "/opt/bitnami/script…"   47 minutes ago   Up 47 minutes (healthy)   2181/tcp, 2888/tcp, 3888/tcp, 8080/tcp   signoz-zookeeper-1
  1. Wait for all the pods to be in running state, and then point your browser to http://<IP-ADDRESS>:3301/ to access the dashboard, replacing <IP-ADDRESS> with the IP address of the machine where you installed SigNoz.

Example:

  • If you're running SigNoz on your local machine, you should point your browser to http://localhost:3301/.
  • If the IP address of the machine on which you're running SigNoz is 66.82.18.247, you should point your browser to http://66.82.18.247:3301/
✅ Info

By default, retention period is set to 7 days for logs and traces, and 30 days for metrics. To change this, navigate to the General tab on the Settings page of SigNoz UI.

For more details, refer to https://signoz.io/docs/userguide/retention-period.

✅ Info

The docker-compose.yaml installs a sample application named HotR.O.D that generates tracing data. You can explore the SigNoz dashboard with the data provided by the sample application. If you wish to remove the sample application, follow the steps in the Remove the Sample Application section.

Install specific version of SigNoz

  1. In a directory of your choosing, clone the SigNoz repository and 'cd' into the signoz/deploy directory by entering the following commands:

    git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/
    
  2. Checkout to the specific version tag. For example, to install SigNoz version v0.6.1:

    git checkout v0.6.1
    
  3. Run the install.sh script:

    ./install.sh
    

Go to Docker Standalone Operate section for detailed instructions.

Set Up Infra Agent

You can set up the Infra Agent to collect logs and metrics from your infrastructure.

  1. Change directory to deploy/docker/generator/infra
cd deploy/docker/generator/infra
  1. Run the docker compose up command to start the Infra Agent:
docker compose up -d --remove-orphans
  1. Verify that the Infra Agent is running correctly. To view the status of your containers, run the following command:
docker ps

The output should look similar to the following:

CONTAINER ID   IMAGE                                          COMMAND                  CREATED          STATUS         PORTS                       NAMES
db63e4e2347f   gliderlabs/logspout:v3.2.14                    "/bin/logspout syslo…"   3 seconds ago    Up 1 second    80/tcp                      infra-logspout-1
f0b9e641b74c   otel/opentelemetry-collector-contrib:0.111.0   "/otelcol-contrib --…"   3 seconds ago    Up 2 seconds   4317/tcp, 55678-55679/tcp   infra-otel-agent-1
  1. (Optional) To scrape metrics from other services using labels, you can add the following to your application's docker-compose.yaml file:
services:
  <service-name>:
    ...
    networks:
      - signoz-net
    labels:
      signoz.io/scrape: "true"
      signoz.io/port: "<port-where-metrics-are-exposed>"
      signoz.io/path: "/metrics"
networks:
  signoz-net:
    name: signoz-net
    external: true
...
  1. (Optional) To stop the Infra Agent, run the following command:
docker compose down

Set Up HOTRod Sample Application

You can set up the HOTRod sample application to generate tracing data.

  1. Change directory to deploy/docker/generator/hotrod
cd deploy/docker/generator/hotrod
  1. Run the docker compose up command to start the HOTRod sample application:
docker compose up -d --remove-orphans
  1. Verify that the HOTRod sample application is running correctly. To view the status of your containers, run the following command:
docker ps

The output should look similar to the following:

CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS        PORTS                     NAMES
9c1b62e95ab4   jaegertracing/example-hotrod:1.61.0   "/go/bin/hotrod-linu…"   2 seconds ago    Up 1 second   8080-8083/tcp             hotrod
ca46030b57fc   signoz/locust:1.2.3                   "/docker-entrypoint.…"   2 seconds ago    Up 1 second   5557-5558/tcp, 8089/tcp   load-hotrod
  1. (Optional) To stop the HOTRod sample application, run the following command:
docker compose down

Next Steps

Was this page helpful?