--- name: proxmox-backup description: "Proxmox PVE1/PVE2 config backup to GitHub — weekly cron, restore script, repo structure" metadata: node_type: memory type: project originSessionId: c454fc50-f93d-4ddd-b9f3-f3f442e89fb9 --- GitHub repo `myronblair/proxmox-config` (private) — full config backup + disaster recovery. **Why:** So both Proxmox nodes can be rebuilt quickly from scratch after hardware failure without losing VM configs, network, custom scripts, or services. **How to apply:** Reference this when discussing Proxmox maintenance, DR planning, or if a node goes down. ## Repo Structure - `shared/` — cluster-wide: all VM/LXC .conf files, storage.cfg, datacenter.cfg, user.cfg, corosync.conf, jobs.cfg, firewall, ha, sdn - `pve/` — PVE1 (10.48.200.90): network, cron, scripts, systemd (filebrowser, jarvis-agent, ollama), ssh/authorized_keys - `pve2/` — PVE2 (10.48.200.91): network, cron, scripts (just pve-remove-nag.sh), systemd (jarvis-agent) - `backup.sh` — runs on each node, pulls repo, collects files, commits+pushes - `restore.sh pve1|pve2` — interactive disaster recovery wizard ## Schedule Weekly cron on both nodes: `0 3 * * 0 /usr/local/bin/proxmox-backup >> /var/log/proxmox-backup.log 2>&1` ## Manual trigger `/usr/local/bin/proxmox-backup` on either node ## What's NOT backed up (intentional) - `/etc/pve/priv/` — CA private key, cluster auth keys (Proxmox regenerates these) - SSH private keys - Large binaries: ollama, filebrowser, blockalign, urbackupclientctl - VM disk images → covered by PBS at 10.48.200.85 ## Restore flow 1. Fresh Proxmox install → set hostname + IP 2. `apt install git && git clone https://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@github.com/myronblair/proxmox-config.git /opt/proxmox-config` 3. `bash /opt/proxmox-config/restore.sh pve1` (interactive, confirms each step) 4. Reboot for network, then restore VMs from PBS ## PVE2 disk space issue (2026-06-09) PVE2 was at 100% disk — removed old kernels to free ~9GB. Now at 96% (4.4GB free). Worth monitoring.