23 lines
823 B
Bash
Executable File
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"
|