31 lines
815 B
Bash
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."
|