Docker Standalone
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.
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
and4318
are open on the machine where you install SigNoz.
Install SigNoz Using the Install Script
Please use non-root user (mainly for Git repository cloning), otherwise you may end up seeing file system permissions errors after the installation.
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/
Run the
install.sh
script:cd deploy ./install.sh
Install SigNoz Using Docker Compose
Before you install Signoz, ensure that Docker Compose is installed on your machine.
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/
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
- 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
- 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 tohttp://66.82.18.247:3301/
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.
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
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/
Checkout to the specific version tag. For example, to install SigNoz version
v0.6.1
:git checkout v0.6.1
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.
- Change directory to
deploy/docker/generator/infra
cd deploy/docker/generator/infra
- Run the
docker compose up
command to start the Infra Agent:
docker compose up -d --remove-orphans
- 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
- (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
...
- (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.
- Change directory to
deploy/docker/generator/hotrod
cd deploy/docker/generator/hotrod
- Run the
docker compose up
command to start the HOTRod sample application:
docker compose up -d --remove-orphans
- 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
- (Optional) To stop the HOTRod sample application, run the following command:
docker compose down