Updating & Backup
Smart Panel is actively developed, and updates bring new features, bug fixes, and security patches. This guide covers how to safely update your installation and back up your data.
Before You Update
Always back up your data before updating. While updates include automatic database migrations, it’s good practice to have a recovery point.
Backup
Your Smart Panel stores two important files:
config/config.yaml— system configuration (plugins, weather, display settings)data/database.sqlite— all devices, dashboards, users, and scenes
The location depends on your installation method:
| Installation Method | Data Location |
|---|---|
| One-liner script or npm global | /var/lib/smart-panel/ |
| Manual tarball | /var/smart-panel/ |
| Docker | Inside the smart-panel-data Docker volume |
Systemd Installations (npm, tarball, one-liner)
Stop the services
sudo systemctl stop smart-panel-backend smart-panel-displayCreate a backup
sudo tar czf ~/smart-panel-backup-$(date +%Y%m%d).tar.gz -C /var/lib/smart-panel .Restart the services
sudo systemctl start smart-panel-backend smart-panel-displayDocker Installation
docker run --rm -v smart-panel-data:/data -v $(pwd):/backup alpine \
tar czf /backup/smart-panel-backup-$(date +%Y%m%d).tar.gz -C /data .You don’t need to stop the Docker container to back up, but stopping it ensures data consistency.
Restore from Backup
Systemd Installations
sudo systemctl stop smart-panel-backend smart-panel-display
sudo tar xzf ~/smart-panel-backup-YYYYMMDD.tar.gz -C /var/lib/smart-panel
sudo systemctl start smart-panel-backend smart-panel-displayDocker Installation
docker compose down
docker run --rm -v smart-panel-data:/data -v $(pwd):/backup alpine \
sh -c "rm -rf /data/* && tar xzf /backup/smart-panel-backup-YYYYMMDD.tar.gz -C /data"
docker compose up -dUpdating
Docker
docker compose pull
docker compose up -dThe container automatically runs pending database migrations on startup.
One-Liner / npm Global Install
sudo smart-panel-service updateThis downloads the latest version, runs migrations, and restarts the services.
Manual Tarball Install
Stop services
sudo systemctl stop smart-panel-backend smart-panel-displayDownload the latest release
curl -sL https://github.com/FastyBird/smart-panel/releases/latest/download/smart-panel.tar.gz \
-o /tmp/smart-panel.tar.gzExtract over existing installation
sudo tar xzf /tmp/smart-panel.tar.gz -C /opt/smart-panel --strip-components=1Install dependencies
cd /opt/smart-panel && pnpm install --productionStart services
sudo systemctl start smart-panel-backend smart-panel-displayDatabase migrations run automatically when the backend starts.
Pinning a Version
Docker
Edit your docker-compose.yml to use a specific tag:
services:
smart-panel:
image: ghcr.io/fastybird/smart-panel:1.2.3npm
npm install -g @fastybird/smart-panel@1.2.3Rolling Back
If an update causes problems:
- Stop the services
- Restore your backup (see above)
- Install the previous version using the pinning method above
- Start the services
Rolling back after a database migration may cause issues if the schema has changed. Always test updates on a non-critical setup first if possible.
What’s Next?
- Check the Troubleshooting guide if you encounter issues after updating
- Visit the GitHub Releases page for changelogs