This guide covers how to upgrade your SigNoz instance across different deployment methods.
Prerequisites
- Backup your existing SigNoz configuration and data before upgrading
- Ensure you have appropriate permissions to perform the upgrade
- Review the release notes for any breaking changes
Kubernetes Deployment
Quick Upgrade to Latest Version
Replace <release-name> and <namespace> with your actual values.
Update Helm repositories:
helm repo updateUpgrade to the latest version:
helm -n <namespace> upgrade <release-name> signoz/signoz
Upgrade to Specific Version
If you need to upgrade to a particular version:
List available versions:
helm search repo signoz --versionsExample output:
NAME CHART VERSION APP VERSION DESCRIPTION signoz/signoz 0.2.5 0.10.2 SigNoz Observability Platform Helm Chart signoz/signoz 0.2.3 0.10.1 SigNoz Observability Platform Helm Chart signoz/signoz 0.2.2 0.10.0 SigNoz Observability Platform Helm ChartUpgrade to specific version:
helm -n <namespace> upgrade <release-name> signoz/signoz --version 0.2.5
For more details, see the Helm upgrade documentation.
Docker Standalone
Upgrade to Latest Version
Switch to main branch:
git checkout mainPull latest changes:
git pull origin mainPull updated images and restart:
cd deploy/docker docker compose pull docker compose up -d --remove-orphans
Upgrade to Specific Version
To upgrade to a specific version (e.g., v0.6.2):
Checkout the desired version:
git checkout v0.6.2Pull updated images and restart:
cd deploy/docker docker compose pull docker compose up -d --remove-orphans
Docker Swarm Cluster
Manual Image Update
- Update image tags in your
docker-compose.yamlfor these services:
signozsignoz-telemetrystore-migratorsignoz-otel-collector
Starting with v0.113, the signoz-schema-migrator service is replaced by signoz-telemetrystore-migrator which uses the signoz/signoz-otel-collector image. See the v0.113 upgrade guide for migration steps.
signozsignoz-schema-migratorsignoz-otel-collector
- Deploy the updated stack:
docker stack deploy -c docker-compose.yaml signoz
Important Notes for Docker Swarm
- Review configuration changes between versions to avoid compatibility issues
- Compare Docker Compose files before upgrading:
git checkout v0.6.1 # or your target version # Compare your current docker-compose.yaml with the new version
Linux Binary Installation
Step 1: Stop SigNoz Services
sudo systemctl stop signoz.service
sudo systemctl stop signoz-otel-collector.service
Step 2: Download Latest Binaries
The following commands automatically detect your system architecture:
Download SigNoz binary:
curl -L https://github.com/SigNoz/signoz/releases/latest/download/signoz_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g').tar.gz -o signoz.tar.gz tar -xzf signoz.tar.gzDownload SigNoz OTEL Collector:
curl -L https://github.com/SigNoz/signoz-otel-collector/releases/latest/download/signoz-otel-collector_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g').tar.gz -o signoz-otel-collector.tar.gz tar -xzf signoz-otel-collector.tar.gz
Step 3: Replace Binaries and Run Migrations
Install new binaries:
sudo cp -r signoz_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g')/* /opt/signoz sudo cp -r signoz-otel-collector_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g')/* /opt/signoz-otel-collectorFix file ownership:
sudo chown -R signoz:signoz /opt/signoz sudo chown -R signoz:signoz /opt/signoz-otel-collectorRun database migrations:
Starting with v0.113, migrations are built into signoz-otel-collector. The separate signoz-schema-migrator binary is no longer needed. See the v0.113 upgrade guide for details.
/opt/signoz-otel-collector/bin/signoz-otel-collector migrate bootstrap --clickhouse-dsn "tcp://localhost:9000?password=<your-clickhouse-password>"
/opt/signoz-otel-collector/bin/signoz-otel-collector migrate sync up --clickhouse-dsn "tcp://localhost:9000?password=<your-clickhouse-password>"
/opt/signoz-otel-collector/bin/signoz-otel-collector migrate async up --clickhouse-dsn "tcp://localhost:9000?password=<your-clickhouse-password>"
<your-clickhouse-password>: The password for your ClickHouse instance. If no password is set, usetcp://localhost:9000without the?password=parameter.
Download the schema migrator binary first:
curl -L https://github.com/SigNoz/signoz-otel-collector/releases/latest/download/signoz-schema-migrator_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g').tar.gz -o signoz-schema-migrator.tar.gz
tar -xzf signoz-schema-migrator.tar.gz
Then run the migrations:
./signoz-schema-migrator_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g')/bin/signoz-schema-migrator sync --dsn="tcp://localhost:9000?password=<your-clickhouse-password>" --replication=true --up=
./signoz-schema-migrator_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g')/bin/signoz-schema-migrator async --dsn="tcp://localhost:9000?password=<your-clickhouse-password>" --replication=true --up=
<your-clickhouse-password>: The password for your ClickHouse instance. If no password is set, usetcp://localhost:9000without the?password=parameter.
Step 4: Start Services and Verify
Restart services:
sudo systemctl daemon-reload sudo systemctl start signoz-otel-collector.service sudo systemctl start signoz.serviceCheck service status:
sudo systemctl status signoz.service sudo systemctl status signoz-otel-collector.serviceBoth services should show
active (running)status.Verify application health:
curl -X GET http://localhost:8080/api/v1/healthExpected response:
{"status":"ok"}Test the UI: Open your SigNoz interface in a browser to ensure everything works correctly.