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 mainRun the installation script:
cd deploy && ./install.sh
Upgrade to Specific Version
To upgrade to a specific version (e.g., v0.6.2):
Checkout the desired version:
git checkout v0.6.2Run the installation script:
cd deploy && ./install.sh
Docker Swarm Cluster
Manual Image Update
Update image tags in your
docker-compose.yamlfor these services:signozschema-migrator-syncschema-migrator-asyncsignoz-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.gzDownload Schema Migrator:
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
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:
./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=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=password" --replication=true --up=
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.