initial commit
Signed-off-by: Jason Hall <imjasonh@gmail.com>
This commit is contained in:
commit
4dc1b58f2f
20 changed files with 1398 additions and 0 deletions
30
scripts/restore.sh
Executable file
30
scripts/restore.sh
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
# Restore a Forgejo backup tarball from GCS over the live data dir.
|
||||
# Run on the VM via SSH. Stops the stack, restores, restarts.
|
||||
#
|
||||
# Usage: sudo ./restore.sh forgejo-20260507T033000Z.tar.gz
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "Usage: $0 <backup-filename>" >&2
|
||||
echo " e.g. $0 forgejo-20260507T033000Z.tar.gz" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BACKUP=$1
|
||||
|
||||
BUCKET=$(curl -sf -H "Metadata-Flavor: Google" \
|
||||
"http://metadata.google.internal/computeMetadata/v1/project/project-id")-forgejo-backups
|
||||
|
||||
read -r -p "About to restore '$BACKUP' from gs://$BUCKET/ over /mnt/disks/forgejo-data/forgejo. Continue? [y/N] " ans
|
||||
[[ "$ans" == "y" || "$ans" == "Y" ]] || exit 1
|
||||
|
||||
systemctl stop forgejo-stack.service
|
||||
docker run --rm -v /tmp:/tmp google/cloud-sdk:slim \
|
||||
gsutil cp "gs://${BUCKET}/${BACKUP}" /tmp/
|
||||
rm -rf /mnt/disks/forgejo-data/forgejo
|
||||
tar xzf "/tmp/${BACKUP}" -C /mnt/disks/forgejo-data/
|
||||
rm "/tmp/${BACKUP}"
|
||||
systemctl start forgejo-stack.service
|
||||
|
||||
echo "Restore complete. Check 'docker logs forgejo' for migration output."
|
||||
Loading…
Add table
Add a link
Reference in a new issue