# 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 <job-id> --disable
```

Run a job manually:
```bash
openclaw cron run <job-id>
```

---

**Last updated:** 2026-02-11 (post-incident recovery)
