1.4 KiB
1.4 KiB
🚨 Disaster Recovery Plan (DRP)
📋 Prerequisites
- New Linode Instance (Ubuntu 22.04).
- Linode Object Storage Access Keys (Access/Secret).
- Cloudflare Tunnel Token.
🏃 Recovery Steps
1. Install Docker & Rclone
curl -fsSL [https://get.docker.com](https://get.docker.com) -o get-docker.sh && sh get-docker.sh
sudo apt install rclone -y
2. Configure Storage & Pull Backups
Configure rclone config to point to linode-s3. Then pull the latest data:
mkdir -p /opt/docker/backups/recovery
rclone copy linode-s3:davisdre-backups-chicago/daily /opt/docker/backups/recovery --latest-only
3. Restore Global Database
Start the global-db container with an empty volume. Restore the SQL dump:
gunzip -c /opt/docker/backups/recovery/postgres_full_DATE.sql.gz | docker exec -i global_postgres psql -U postgres
4. Restore App Files
Extract the application data to their respective folders:
# Note: Ensure the paths in the tar match your /opt/docker structure
tar -xzf /opt/docker/backups/recovery/app_files_DATE.tar.gz -C /
5. Launch Services
cd /opt/docker/dashboard && docker compose up -d
cd /opt/docker/gitea && docker compose up -d
cd /opt/docker/linkwarden && docker compose up -d
cd /opt/docker/freshrss && docker compose up -d
cd /opt/docker/memos && docker compose up -d
cd /opt/docker/surmai && docker compose up -d
cd /opt/docker/cloudflared && docker compose up -d