feat(backup): replace JSON import/export with SQLite database backup system
Replace the JSON-based import/export with a proper backup system that copies the SQLite database file directly. Supports manual on-demand backups, periodic scheduled backups via node-cron, configurable retention, file download, and full database restore. - Add backupService with VACUUM INTO for safe DB copies - Add backupScheduler following healthcheckScheduler pattern - Add 6 admin API endpoints (create, list, download, restore, delete, schedule) - Add BackupPanel UI with backup table, confirmation dialogs, schedule config - Add backup fields to SystemSettings schema - Remove old ImportExportPanel, exportService, importService, and related code
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
import { t } from 'svelte-i18n';
|
||||
import type { PageData } from './$types.js';
|
||||
import SettingsForm from '$lib/components/admin/SettingsForm.svelte';
|
||||
import ImportExportPanel from '$lib/components/admin/ImportExportPanel.svelte';
|
||||
import BackupPanel from '$lib/components/admin/BackupPanel.svelte';
|
||||
import DiscoveryPanel from '$lib/components/admin/DiscoveryPanel.svelte';
|
||||
|
||||
let { data }: { data: PageData } = $props();
|
||||
@@ -25,5 +25,5 @@
|
||||
|
||||
<DiscoveryPanel bind:dockerSocketPath bind:traefikApiUrl />
|
||||
|
||||
<ImportExportPanel />
|
||||
<BackupPanel />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user