Files
dev-notes/assets/files/gitea/forge-b2-backup.sh
2025-12-05 10:39:47 -06:00

31 lines
815 B
Bash

#!/usr/bin/env bash
set -euo pipefail
# Paths — adjust if your layout changes
GITEA_DIR="/gitea/gitea"
BACKUP_DIR="/gitea/backups"
CONTAINER="gitea"
mkdir -p "$BACKUP_DIR"
ts="$(date +%Y%m%d-%H%M%S)"
dump_file="gitea-dump-$ts.zip"
echo "[backup] Starting backup: $dump_file"
# Run dump INSIDE container
docker exec -u 1000 "$CONTAINER" sh -lc \
"gitea dump -c /data/gitea/conf/app.ini --file /data/$dump_file"
# Move dump from container-mounted volume to backup dir
mv "$GITEA_DIR/$dump_file" "$BACKUP_DIR/$dump_file"
echo "[backup] Dump created at $BACKUP_DIR/$dump_file"
# Optional: Upload to Backblaze B2 via rclone
# Make sure you configured a remote named 'B2'
rclone copy "$BACKUP_DIR/$dump_file" B2:soloforge-backups
echo "[backup] Uploaded $dump_file to Backblaze B2"
echo "[backup] All done."