feat: person excludes for auto-organize rules, backup & restore system

Add person exclude criteria to Immich auto-organize — assets containing
excluded persons are filtered out after candidate gathering. Also adds
full backup/restore system with export, import, scheduled backups, and
retention management.
This commit is contained in:
2026-04-02 14:13:42 +03:00
parent 6e51164f8e
commit 6b2211353d
13 changed files with 2191 additions and 2 deletions
+65
View File
@@ -16,6 +16,7 @@
"cmdTemplateConfigs": "Cmd Templates",
"users": "Users",
"settings": "Settings",
"backup": "Backup",
"logout": "Logout",
"notification": "Notification",
"commands": "Commands",
@@ -1025,6 +1026,8 @@
"criteria": "Criteria",
"persons": "Persons",
"addPerson": "Add person...",
"excludePersons": "Exclude persons",
"addExcludePerson": "Add person to exclude...",
"searchQuery": "Smart Search Query",
"searchQueryPlaceholder": "e.g. sunset, beach, birthday...",
"assetType": "Asset type",
@@ -1053,5 +1056,67 @@
"triggerManual": "manual",
"triggerDryRun": "dry-run",
"triggerScheduled": "scheduled"
},
"backup": {
"title": "Backup & Restore",
"description": "Export and import your configuration, or set up automatic backups",
"export": "Export Configuration",
"exportDescription": "Download your configuration as a JSON file. Select which categories to include.",
"import": "Import Configuration",
"importDescription": "Upload a previously exported backup file to restore configuration.",
"categories": "Categories",
"selectAll": "Select all",
"deselectAll": "Deselect all",
"catProviders": "Providers",
"catTelegramBots": "Telegram Bots",
"catMatrixBots": "Matrix Bots",
"catEmailBots": "Email Bots",
"catTargets": "Targets",
"catTrackingConfigs": "Tracking Configs",
"catTemplateConfigs": "Template Configs",
"catCommandConfigs": "Command Configs",
"catCommandTemplateConfigs": "Cmd Template Configs",
"catNotificationTrackers": "Notif. Trackers",
"catCommandTrackers": "Cmd Trackers",
"catActions": "Actions",
"catAppSettings": "App Settings",
"secretsMode": "Secrets",
"secretsExclude": "Exclude secrets (safe)",
"secretsMasked": "Mask secrets (for review)",
"secretsInclude": "Include secrets (plaintext)",
"secretsWarningExport": "Warning: The export file will contain sensitive data (API keys, tokens, passwords) in plaintext.",
"exportBtn": "Export",
"exportSuccess": "Configuration exported",
"validateBtn": "Validate",
"validating": "Validating...",
"validationPassed": "Validation passed",
"validationFailed": "Validation failed",
"entities": "Entities",
"conflictMode": "Conflict resolution",
"conflictSkip": "Skip existing (keep current)",
"conflictRename": "Rename duplicates (add suffix)",
"conflictOverwrite": "Overwrite existing (replace)",
"importBtn": "Import",
"importing": "Importing...",
"importSuccess": "Configuration imported",
"importResults": "Import Results",
"resultCreated": "Created",
"resultSkipped": "Skipped",
"resultOverwritten": "Overwritten",
"resultErrors": "Errors",
"confirmExportTitle": "Export with secrets?",
"confirmExportMessage": "The exported file will contain all secrets (API keys, bot tokens, passwords) in plaintext. Only use this for secure transfers or trusted storage.",
"confirmImportTitle": "Import configuration?",
"confirmImportMessage": "This will create new entities in your database. Make sure you have validated the backup file first.",
"scheduled": "Scheduled Backups",
"enableScheduled": "Enable automatic backups",
"interval": "Interval",
"hours": "hours",
"retention": "Keep last",
"scheduleSaved": "Backup schedule saved",
"savedFiles": "Saved Backups",
"noFiles": "No backup files yet.",
"download": "Download",
"fileDeleted": "Backup file deleted"
}
}