Add comprehensive upgrade guide
This commit is contained in:
1 parent
1d95b6d026
commit
8c608d72a3
2 files changed
+152
No files matched your search
@@ -35,6 +35,7 @@ curl -fsSL https://raw.githubusercontent.com/nmemmert/monitor/main/install-ubunt
|
|||||||
| [📦 Installation](docs/INSTALLATION.md) | Quick install, manual setup, dev/prod modes |
|
| [📦 Installation](docs/INSTALLATION.md) | Quick install, manual setup, dev/prod modes |
|
||||||
| [🚀 Deployment](docs/DEPLOYMENT.md) | Deploy to remote servers, Docker, services, firewall |
|
| [🚀 Deployment](docs/DEPLOYMENT.md) | Deploy to remote servers, Docker, services, firewall |
|
||||||
| [📚 Usage Guide](docs/USAGE.md) | Dashboard, History, Settings, Resources, SLA Reports |
|
| [📚 Usage Guide](docs/USAGE.md) | Dashboard, History, Settings, Resources, SLA Reports |
|
||||||
|
| [⬆️ Upgrade Guide](docs/UPGRADE.md) | How to upgrade to new versions |
|
||||||
| [🆘 Troubleshooting](docs/TROUBLESHOOTING.md) | Common issues and solutions |
|
| [🆘 Troubleshooting](docs/TROUBLESHOOTING.md) | Common issues and solutions |
|
||||||
|
|
||||||
## History Feature
|
## History Feature
|
||||||
|
|||||||
+151
@@ -0,0 +1,151 @@
|
|||||||
|
# Upgrade Guide
|
||||||
|
|
||||||
|
## Checking Your Version
|
||||||
|
|
||||||
|
Current version: Check the package.json file or look at the UI footer.
|
||||||
|
|
||||||
|
## Upgrade Process
|
||||||
|
|
||||||
|
### Option 1: Git Repository (Recommended)
|
||||||
|
|
||||||
|
If you deployed using git:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /opt/resource-monitor
|
||||||
|
git pull origin main
|
||||||
|
npm install
|
||||||
|
cd client && npm run build && cd ..
|
||||||
|
git add -f client/build/
|
||||||
|
git commit -m "Update build files after upgrade"
|
||||||
|
git push
|
||||||
|
pm2 restart resource-monitor
|
||||||
|
```
|
||||||
|
|
||||||
|
Then hard-refresh your browser (Ctrl+Shift+R) to clear cache and load the new version.
|
||||||
|
|
||||||
|
### Option 2: Manual Update
|
||||||
|
|
||||||
|
1. **Backup your data:**
|
||||||
|
```bash
|
||||||
|
cp -r data/ data.backup
|
||||||
|
cp .env data.backup/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Download latest version:**
|
||||||
|
```bash
|
||||||
|
# Download zip from GitHub and extract to a new folder
|
||||||
|
# Or clone fresh: git clone https://github.com/nmemmert/monitor.git monitor-new
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Copy your configuration:**
|
||||||
|
```bash
|
||||||
|
cp data.backup/.env monitor-new/
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Install and build:**
|
||||||
|
```bash
|
||||||
|
cd monitor-new
|
||||||
|
npm run install-all
|
||||||
|
cd client && npm run build && cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **Stop old version and start new:**
|
||||||
|
```bash
|
||||||
|
pm2 stop resource-monitor
|
||||||
|
pm2 delete resource-monitor
|
||||||
|
pm2 start server/index.js --name resource-monitor
|
||||||
|
pm2 save
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **Restore data (if needed):**
|
||||||
|
```bash
|
||||||
|
# If you want to preserve old database:
|
||||||
|
cp data.backup/skywatch.db data/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option 3: Docker Update
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Pull latest image
|
||||||
|
docker pull your-registry/resource-monitor:latest
|
||||||
|
|
||||||
|
# Stop old container
|
||||||
|
docker stop monitor
|
||||||
|
|
||||||
|
# Start new container with same volume
|
||||||
|
docker run -d -p 3001:3001 -v resource-data:/app/data --name monitor resource-monitor:latest
|
||||||
|
|
||||||
|
# Clean up old container
|
||||||
|
docker rm monitor-old
|
||||||
|
```
|
||||||
|
|
||||||
|
## What to Check After Upgrade
|
||||||
|
|
||||||
|
1. **Access the dashboard:** Visit http://your-server:3001
|
||||||
|
2. **Check resources:** Verify all resources are still configured
|
||||||
|
3. **Test notifications:** Send test email/webhook from Settings
|
||||||
|
4. **View history:** Verify historical data is intact
|
||||||
|
5. **Monitor logs:** `pm2 logs resource-monitor` for any errors
|
||||||
|
|
||||||
|
## Rollback
|
||||||
|
|
||||||
|
If something goes wrong:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# If using git:
|
||||||
|
git revert HEAD
|
||||||
|
npm install
|
||||||
|
pm2 restart resource-monitor
|
||||||
|
|
||||||
|
# If using manual backup:
|
||||||
|
# Stop the new version and restore old version from backup
|
||||||
|
pm2 stop resource-monitor
|
||||||
|
# Copy old files back
|
||||||
|
pm2 start resource-monitor
|
||||||
|
```
|
||||||
|
|
||||||
|
## Breaking Changes by Version
|
||||||
|
|
||||||
|
### v1.0 → v1.1
|
||||||
|
- Database schema may be upgraded automatically
|
||||||
|
- No manual action required
|
||||||
|
- Check logs if issues occur
|
||||||
|
|
||||||
|
### v1.1 → v2.0
|
||||||
|
- Node.js 16+ required (was 14+)
|
||||||
|
- Update your Node.js before upgrading
|
||||||
|
- Check `.env` for any new required settings
|
||||||
|
|
||||||
|
## Troubleshooting Upgrades
|
||||||
|
|
||||||
|
### White screen after upgrade
|
||||||
|
- Hard refresh browser (Ctrl+Shift+R)
|
||||||
|
- Clear all browser cache
|
||||||
|
- Check console for JavaScript errors (F12)
|
||||||
|
|
||||||
|
### Database errors
|
||||||
|
- Ensure `data/` directory is writable
|
||||||
|
- Check disk space: `df -h`
|
||||||
|
- Verify database integrity: `sqlite3 data/skywatch.db "PRAGMA integrity_check;"`
|
||||||
|
|
||||||
|
### Resources not checking
|
||||||
|
- Verify resources still exist: `pm2 logs resource-monitor`
|
||||||
|
- Re-enable resources in dashboard if needed
|
||||||
|
- Check network connectivity from server
|
||||||
|
|
||||||
|
### Notifications not working
|
||||||
|
- Test email/webhook from Settings page
|
||||||
|
- Review server logs for errors
|
||||||
|
- Check that EMAIL_ENABLED and WEBHOOK_ENABLED are still set
|
||||||
|
|
||||||
|
## Staying Updated
|
||||||
|
|
||||||
|
To get notifications about new releases:
|
||||||
|
|
||||||
|
1. Watch the GitHub repository
|
||||||
|
2. Star the project
|
||||||
|
3. Enable notifications in GitHub settings
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
Having upgrade issues? Check the [Troubleshooting Guide](TROUBLESHOOTING.md) or open an issue on GitHub.
|
||||||
Reference in new issue
Block a user