fix: persist media decisions across production restores

This commit is contained in:
ik
2026-09-22 07:48:43 +07:00
parent 104d5803fb
commit f3fb5868df
9 changed files with 145 additions and 6 deletions
+7 -1
View File
@@ -21,6 +21,9 @@ fi
mkdir -p "$target"
chmod 700 "$target"
export BACKUP_DIRECTORY="$backup_root"
media_tmp=$(mktemp -d "$backup_root/.rf4-media-backup.XXXXXX")
cleanup() { rm -rf "$media_tmp"; }
trap cleanup EXIT INT TERM
env_file=${COMPOSE_ENV_FILE:-.env.production}
compose="docker compose --env-file $env_file -f compose.production.yaml"
@@ -28,6 +31,9 @@ $compose exec -T db sh -c 'pg_dump --format=custom --no-owner --no-acl -U "$POST
$compose run --rm --entrypoint /bin/sh storage-tool -c 'mc alias set local http://minio:9000 "$S3_ACCESS_KEY" "$S3_SECRET_KEY" >/dev/null && mc stat "local/$S3_BUCKET" >/dev/null && mc mirror --overwrite "local/$S3_BUCKET" "/backup/'"$stamp"'/minio" && chmod -R a+rwX "/backup/'"$stamp"'/minio"'
tar -czf "$target/minio.tar.gz" -C "$target" minio
rm -rf "$target/minio"
(cd "$target" && sha256sum postgres.dump minio.tar.gz > SHA256SUMS)
$compose cp api:/app/runtime-media/. "$media_tmp/"
tar -czf "$target/media.tar.gz" -C "$media_tmp" .
(cd "$target" && sha256sum postgres.dump minio.tar.gz media.tar.gz > SHA256SUMS)
chmod 600 "$target/postgres.dump" "$target/minio.tar.gz" "$target/SHA256SUMS"
chmod 600 "$target/media.tar.gz"
echo "Backup created: $target"