--- name: do-server-backup description: "DO server (165.22.1.228) config backup to GitHub — weekly cron, restore wizard, full rebuild guide" metadata: node_type: memory type: project originSessionId: c454fc50-f93d-4ddd-b9f3-f3f442e89fb9 --- GitHub repo `myronblair/do-server-config` (private) — all scripts, systemd units, WireGuard, OLS vhosts, cron, MySQL creds. **Why:** So the DO server (orbis) can be fully rebuilt after a droplet failure in ~90 minutes. ## What's Backed Up - `scripts/` — jarvis-deploy.sh, jarvis-watchdog.sh, jarvis-backup.sh, jarvis-agent.py, ttg-backup.sh - `systemd/` — jarvis-agent.service, fastapi_ssh_server.service - `wireguard/` — wg0.conf (includes private keys — private repo) - `network/` — netplan 50-cloud-init.yaml, hosts, hostname - `cron/` — root_custom (JARVIS lines), root_full (everything) - `ols-vhosts/` — all 8 site OLS vhost configs - `mysql/` — /root/.my.cnf, database list - `infra/` — snapshot of /opt/infra/ - `smtp-docs/` — /opt/smtp-for-websites/ docs ## Schedule Weekly Sunday 4am: `0 4 * * 0 /usr/local/bin/do-server-backup >> /var/log/do-server-backup.log 2>&1` ## Manual trigger `/usr/local/bin/do-server-backup` on DO server ## What's NOT backed up - Website files (all in GitHub repos) - Databases (jarvis-backup.sh daily → /var/backups/jarvis/, 7-day retention) - SSL certs (re-issue via CyberPanel) - Gitignored configs (api/config.php files — recreate manually from examples) - CyberPanel itself (reinstall script: sh <(curl https://cyberpanel.net/install.sh)) ## Restore flow 1. New Ubuntu 24.04 droplet 2. `apt install git && git clone https://@github.com/myronblair/do-server-config.git /opt/do-server-config` 3. `bash /opt/do-server-config/restore.sh` (8-phase interactive wizard) 4. Install CyberPanel, create sites, pull GitHub repos 5. Restore DBs from jarvis-backup.sh archive 6. Recreate gitignored config files ## MySQL root password Z9Of4NVs6ji74x (also in mysql/my.cnf in repo)