diff --git a/MAINTENANCE-SCHEDULE.md b/MAINTENANCE-SCHEDULE.md new file mode 100644 index 0000000..4eded46 --- /dev/null +++ b/MAINTENANCE-SCHEDULE.md @@ -0,0 +1,83 @@ +# Homelab Maintenance Schedule + +**Automated reminders managed by OpenClaw cron jobs** + +## Weekly Tasks + +### Sunday 9:00 AM - UCG Ultra Backup +- Download configuration backup from UCG Ultra +- Save to `homelab-docs/backups/ucg-ultra/` +- Commit to Git +- **Why:** Protect against factory resets and config loss + +### Monday 8:00 AM - External Service Check +- Automated verification of all external domains +- Tests VPN tunnel connectivity +- Reports any issues +- **Why:** Early detection of service outages + +## Monthly Tasks + +### 1st of Month, 10:00 AM - Firmware Updates +- Check UCG Ultra for updates +- Check Proxmox hosts (apt update) +- Review container template updates +- **Why:** Security patches and bug fixes + +## Quarterly Tasks + +### Jan/Apr/Jul/Oct 1st, 10:00 AM - Firewall Review +- Audit UCG Ultra firewall rules +- Verify VPN → LAN access still needed +- Remove unused rules +- Document changes +- **Why:** Security hygiene and cleanup + +## Ad-Hoc Maintenance + +**Before any major change:** +- [ ] Take UCG Ultra backup +- [ ] Create Proxmox snapshots +- [ ] Document in homelab-docs +- [ ] Test in isolated environment if possible + +**After infrastructure changes:** +- [ ] Update DHCP reservations if needed +- [ ] Update firewall rules +- [ ] Test external access +- [ ] Commit changes to Git +- [ ] Take fresh backup + +## Emergency Contacts + +**If something breaks:** +1. Check recent memory files in workspace +2. Review homelab-docs for current config +3. Check Gitea for recent changes +4. Restore from UCG Ultra backup if needed + +**Backup locations:** +- Local: `/root/.openclaw/workspace/homelab-docs/backups/` +- Gitea: http://10.0.10.2:3000/fred/homelab-docs +- Cloud: (Add your cloud storage location) + +## Cron Job Status + +View all scheduled jobs: +```bash +openclaw cron list +``` + +Disable a job: +```bash +openclaw cron update --disable +``` + +Run a job manually: +```bash +openclaw cron run +``` + +--- + +**Last updated:** 2026-02-11 (post-incident recovery)