#!/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."