bytelyst-devops-tools/scripts/gitea-backup.sh
2026-05-27 18:53:20 +00:00

23 lines
823 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
container="${GITEA_CONTAINER:-gitea-npm-registry}"
backup_dir="${GITEA_BACKUP_DIR:-/opt/bytelyst/backups/gitea}"
retention_days="${GITEA_BACKUP_RETENTION_DAYS:-14}"
timestamp="$(date -u +%Y%m%dT%H%M%SZ)"
name="gitea-dump-${timestamp}.zip"
container_tmp="/tmp/${name}"
host_path="${backup_dir}/${name}"
mkdir -p "$backup_dir"
docker exec --user git "$container" rm -f "$container_tmp" >/dev/null 2>&1 || true
docker exec --user git "$container" gitea dump --quiet --skip-log --file "$container_tmp"
docker cp "${container}:${container_tmp}" "$host_path"
docker exec --user git "$container" rm -f "$container_tmp" >/dev/null 2>&1 || true
chmod 600 "$host_path"
find "$backup_dir" -type f -name 'gitea-dump-*.zip' -mtime +"$retention_days" -delete
printf 'created %s\n' "$host_path"