From ead7e1e17d669cb512304dae1ebc0d0121156d60 Mon Sep 17 00:00:00 2001 From: Micha Date: Sat, 16 May 2026 13:14:10 +0200 Subject: [PATCH] Fallback SQLite dumps to host paths --- ops/borg-ui/scripts/pre-backup-dumps.sh | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/ops/borg-ui/scripts/pre-backup-dumps.sh b/ops/borg-ui/scripts/pre-backup-dumps.sh index ce8c6d7..ae50d92 100755 --- a/ops/borg-ui/scripts/pre-backup-dumps.sh +++ b/ops/borg-ui/scripts/pre-backup-dumps.sh @@ -98,12 +98,23 @@ dump_sqlite_container() { container="$1" db_path="$2" output="$3" + host_source="${4:-}" if ! need_container "$container"; then warn "Skipping missing container: $container" return 0 fi + if ! docker exec "$container" sh -lc 'command -v sqlite3 >/dev/null 2>&1'; then + if [ -n "$host_source" ]; then + warn "Container $container has no sqlite3; using host-side SQLite backup for $host_source" + dump_sqlite_file "$host_source" "$output" "$container" + return + fi + warn "Skipping SQLite backup for $container because sqlite3 is missing in the container and no host fallback is configured" + return 1 + fi + container_tmp="/tmp/$(basename "$output").bak" tmp="$TMP_DIR/$(basename "$output").tmp" @@ -230,11 +241,11 @@ main() { fi # SQLite databases - dump_sqlite_container "gitea" "/data/gitea/gitea.db" "$LATEST_DIR/gitea.sqlite.dump" - dump_sqlite_container "vaultwarden" "/data/db.sqlite3" "$LATEST_DIR/vaultwarden.sqlite.dump" - dump_sqlite_container "uptime-kuma" "/app/data/kuma.db" "$LATEST_DIR/uptime-kuma.sqlite.dump" - dump_sqlite_container "speedtest-tracker" "/config/database.sqlite" "$LATEST_DIR/speedtest-tracker.sqlite.dump" - dump_sqlite_container "filebrowser" "/database/filebrowser.db" "$LATEST_DIR/filebrowser.sqlite.dump" + dump_sqlite_container "gitea" "/data/gitea/gitea.db" "$LATEST_DIR/gitea.sqlite.dump" "/mnt/user/services/gitea/data/gitea/gitea.db" + dump_sqlite_container "vaultwarden" "/data/db.sqlite3" "$LATEST_DIR/vaultwarden.sqlite.dump" "/mnt/user/appdata/vaultwarden/db.sqlite3" + dump_sqlite_container "uptime-kuma" "/app/data/kuma.db" "$LATEST_DIR/uptime-kuma.sqlite.dump" "/mnt/user/appdata/uptime-kuma/kuma.db" + dump_sqlite_container "speedtest-tracker" "/config/database.sqlite" "$LATEST_DIR/speedtest-tracker.sqlite.dump" "/mnt/user/appdata/speedtest-tracker/config/database.sqlite" + dump_sqlite_container "filebrowser" "/database/filebrowser.db" "$LATEST_DIR/filebrowser.sqlite.dump" "/mnt/user/appdata/filebrowser/database/filebrowser.db" # Additional host-side SQLite dumps for admin tooling with appdata files. dump_sqlite_file "/mnt/user/appdata/borg-ui/data/borg.db" "$LATEST_DIR/borg-ui.sqlite" "borg-ui"