#!/usr/bin/env bash set -euo pipefail timestamp=$(date -u +"%Y%m%dT%H%M%SZ") workdir="/tmp/backup-${timestamp}" stagedir="${workdir}/backup-${timestamp}" data_tar="${stagedir}/data.tar.zst" db_path="${SQLITE_DB_PATH:-/var/lib/webui/app.db}" remote_path="${BACKUP_REMOTE_PATH:-/remote}" compression="${BACKUP_COMPRESSION:-zstd}" mkdir -p "${stagedir}" tar --xattrs --acls --numeric-owner -cpf - /data | zstd -19 -o "${data_tar}" sqlite3 "${db_path}" ".backup '${stagedir}/app.db'" data_size=$(stat -c %s "${stagedir}/data.tar.zst") data_sha=$(sha256sum "${stagedir}/data.tar.zst" | awk '{print $1}') db_size=$(stat -c %s "${stagedir}/app.db") db_sha=$(sha256sum "${stagedir}/app.db" | awk '{print $1}') cat > "${stagedir}/manifest.json" <