- Rename all user-facing strings: Target→Source, Remote→Destination across TUI, docs, web dashboard, bash scripts, config examples, and README - Add go-to-path search input to both FolderPicker and RemoteFolderPicker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
272 lines
13 KiB
Python
272 lines
13 KiB
Python
SCREEN_DOCS = {
|
|
"backup-screen": (
|
|
"[bold]Backup Screen[/bold]\n"
|
|
"\n"
|
|
"Run backups of configured sources to backup destinations.\n"
|
|
"\n"
|
|
"[bold]Fields:[/bold]\n"
|
|
" [bold]Source[/bold] - The backup source to run. Each source defines which folders and databases to back up.\n"
|
|
"\n"
|
|
" [bold]Destination[/bold] - Where to send the backup. Choose a specific destination or 'Default (all)' to back up to every configured destination.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]Run Backup[/bold] - Back up the selected source to the selected destination.\n"
|
|
" [bold]Backup All[/bold] - Back up all enabled sources to all their configured destinations.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - Backups run in the background. You can monitor progress on the Running Tasks screen.\n"
|
|
" - Each backup creates a timestamped snapshot on the destination, so you can restore any point in time.\n"
|
|
" - Use retention cleanup to remove old snapshots."
|
|
),
|
|
"restore-screen": (
|
|
"[bold]Restore Screen[/bold]\n"
|
|
"\n"
|
|
"Restore files and databases from a destination snapshot.\n"
|
|
"\n"
|
|
"[bold]Fields:[/bold]\n"
|
|
" [bold]Source[/bold] - The backup source to restore.\n"
|
|
" [bold]Destination[/bold] - The destination that holds the snapshot.\n"
|
|
" [bold]Snapshot[/bold] - The specific point-in-time snapshot to restore from. Loaded after selecting source and destination.\n"
|
|
" [bold]Restore location[/bold] - Choose 'In-place' to overwrite original files, or 'Custom directory' to restore to a different path.\n"
|
|
" [bold]Restore MySQL[/bold] - Toggle whether to restore MySQL databases (only shown if the source has MySQL backup enabled).\n"
|
|
"\n"
|
|
"[bold]Warning:[/bold]\n"
|
|
" In-place restore will overwrite existing files. Consider restoring to a custom directory first to verify the contents."
|
|
),
|
|
"targets-screen": (
|
|
"[bold]Sources Screen[/bold]\n"
|
|
"\n"
|
|
"List and manage backup sources. A source defines what to back up: folders, file patterns, and optionally MySQL databases.\n"
|
|
"\n"
|
|
"[bold]Table columns:[/bold]\n"
|
|
" [bold]Name[/bold] - Unique source identifier.\n"
|
|
" [bold]Folders[/bold] - Comma-separated paths to back up.\n"
|
|
" [bold]Enabled[/bold] - Whether the source is active.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]Add[/bold] - Create a new source.\n"
|
|
" [bold]Edit[/bold] - Modify the selected source.\n"
|
|
" [bold]Delete[/bold] - Remove the selected source.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - You need at least one source and one destination before you can run backups.\n"
|
|
" - Disable a source to skip it during 'Backup All' without deleting it."
|
|
),
|
|
"target-edit": (
|
|
"[bold]Source Editor[/bold]\n"
|
|
"\n"
|
|
"Add or edit a backup source configuration.\n"
|
|
"\n"
|
|
"[bold]Fields:[/bold]\n"
|
|
" [bold]Name[/bold] - Unique identifier (letters, digits, dash, underscore; max 32 chars).\n"
|
|
" [bold]Folders[/bold] - Comma-separated paths to back up. Use Browse to pick folders interactively.\n"
|
|
" [bold]Include/Exclude[/bold] - Glob patterns to filter files (e.g. *.conf, *.log).\n"
|
|
" [bold]Destination override[/bold] - Force this source to a specific destination instead of the default.\n"
|
|
" [bold]Retention override[/bold] - Custom snapshot count.\n"
|
|
" [bold]Pre/Post hooks[/bold] - Shell commands to run before/after the backup.\n"
|
|
"\n"
|
|
"[bold]Source section:[/bold]\n"
|
|
" Set Source Type to pull files from a source server instead of backing up local folders.\n"
|
|
" [bold]Local[/bold] - Default. Back up folders on this machine.\n"
|
|
" [bold]SSH[/bold] - Pull files from a source server via SSH/rsync before backing up.\n"
|
|
" [bold]S3[/bold] - Pull files from an S3-compatible bucket.\n"
|
|
" [bold]Google Drive[/bold] - Pull files from Google Drive via service account.\n"
|
|
" When using a source server, specify remote paths in the Folders field instead of local paths.\n"
|
|
"\n"
|
|
"[bold]MySQL section:[/bold]\n"
|
|
" Enable MySQL to dump databases alongside files. Choose 'All databases' or select specific ones. Leave user/password empty for socket auth."
|
|
),
|
|
"remotes-screen": (
|
|
"[bold]Destinations Screen[/bold]\n"
|
|
"\n"
|
|
"List and manage backup destinations.\n"
|
|
"\n"
|
|
"[bold]Table columns:[/bold]\n"
|
|
" [bold]Name[/bold] - Unique destination identifier.\n"
|
|
" [bold]Type[/bold] - Connection type (SSH, Local, S3, Google Drive).\n"
|
|
" [bold]Host/Path[/bold] - Connection details.\n"
|
|
" [bold]Disk[/bold] - Available space (loaded in background).\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]Add[/bold] - Create a new destination.\n"
|
|
" [bold]Edit[/bold] - Modify the selected destination.\n"
|
|
" [bold]Test[/bold] - Verify connectivity to the destination.\n"
|
|
" [bold]Delete[/bold] - Remove the selected destination.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - Always test a new destination before running backups.\n"
|
|
" - The Disk column shows used/total space and may take a moment to load for SSH destinations."
|
|
),
|
|
"remote-edit": (
|
|
"[bold]Destination Editor[/bold]\n"
|
|
"\n"
|
|
"Add or edit a backup destination.\n"
|
|
"\n"
|
|
"[bold]Types:[/bold]\n"
|
|
" [bold]SSH[/bold] - Remote server via SSH/rsync.\n"
|
|
" [bold]Local[/bold] - Local directory or mounted drive.\n"
|
|
" [bold]S3[/bold] - Amazon S3 or compatible storage.\n"
|
|
" [bold]Google Drive[/bold] - Google Drive via service account.\n"
|
|
"\n"
|
|
"[bold]SSH fields:[/bold]\n"
|
|
" Host, port, user, and either SSH key or password authentication.\n"
|
|
"\n"
|
|
"[bold]Common fields:[/bold]\n"
|
|
" [bold]Base path[/bold] - Root directory for backups on the destination.\n"
|
|
" [bold]Bandwidth limit[/bold] - Throttle transfer speed in KB/s (0 = unlimited).\n"
|
|
" [bold]Retention count[/bold] - Max snapshots to keep.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - For SSH, ensure the destination user has write access to the base path.\n"
|
|
" - Use key-based auth for unattended backups."
|
|
),
|
|
"snapshots-screen": (
|
|
"[bold]Snapshots Browser[/bold]\n"
|
|
"\n"
|
|
"Browse snapshots stored on backup destinations.\n"
|
|
"\n"
|
|
"[bold]Fields:[/bold]\n"
|
|
" [bold]Source[/bold] - The backup source.\n"
|
|
" [bold]Destination[/bold] - The destination holding snapshots.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]Load Snapshots[/bold] - Fetch the list of available snapshots from the destination.\n"
|
|
" [bold]Browse Files[/bold] - View the file tree inside the selected snapshot.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - Each snapshot is a timestamped directory on the destination containing the backed-up files.\n"
|
|
" - Loading may take a moment for SSH destinations.\n"
|
|
" - Use the Restore screen to actually restore files from a snapshot."
|
|
),
|
|
"retention-screen": (
|
|
"[bold]Retention Cleanup[/bold]\n"
|
|
"\n"
|
|
"Remove old snapshots based on retention count.\n"
|
|
"\n"
|
|
"[bold]Fields:[/bold]\n"
|
|
" [bold]Source[/bold] - Run cleanup for a specific source.\n"
|
|
" [bold]Default retention count[/bold] - Number of snapshots to keep per source/destination pair.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]Run Cleanup[/bold] - Clean old snapshots for the selected source.\n"
|
|
" [bold]Cleanup All[/bold] - Clean old snapshots for all sources.\n"
|
|
" [bold]Save[/bold] - Save the default retention count.\n"
|
|
"\n"
|
|
"[bold]How it works:[/bold]\n"
|
|
" Retention keeps the N most recent snapshots and deletes the rest. Per-source or per-destination overrides take priority over the default count.\n"
|
|
"\n"
|
|
"[bold]Warning:[/bold]\n"
|
|
" Deleted snapshots cannot be recovered."
|
|
),
|
|
"schedule-screen": (
|
|
"[bold]Schedules Screen[/bold]\n"
|
|
"\n"
|
|
"Manage scheduled backup jobs via cron.\n"
|
|
"\n"
|
|
"[bold]Table columns:[/bold]\n"
|
|
" [bold]Name[/bold] - Schedule identifier.\n"
|
|
" [bold]Active[/bold] - Whether the schedule is enabled.\n"
|
|
" [bold]Type[/bold] - Frequency (hourly/daily/weekly/monthly/custom).\n"
|
|
" [bold]Time[/bold] - When the backup runs.\n"
|
|
" [bold]Last/Next Run[/bold] - Timing information.\n"
|
|
" [bold]Sources/Destinations[/bold] - Scope of the schedule.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]Toggle Active[/bold] - Enable/disable a schedule.\n"
|
|
" [bold]Show crontab[/bold] - View the installed crontab.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - The cron daemon must be running for schedules to execute. You will be warned if it is not running.\n"
|
|
" - Changes are automatically synced to crontab."
|
|
),
|
|
"schedule-edit": (
|
|
"[bold]Schedule Editor[/bold]\n"
|
|
"\n"
|
|
"Add or edit a scheduled backup.\n"
|
|
"\n"
|
|
"[bold]Schedule types:[/bold]\n"
|
|
" [bold]Hourly[/bold] - Run every N hours.\n"
|
|
" [bold]Daily[/bold] - Run at a set time on selected days.\n"
|
|
" [bold]Weekly[/bold] - Run once a week on a chosen day.\n"
|
|
" [bold]Monthly[/bold] - Run once a month on a chosen day.\n"
|
|
" [bold]Custom cron[/bold] - Use a raw 5-field cron expression for full control.\n"
|
|
"\n"
|
|
"[bold]Fields:[/bold]\n"
|
|
" [bold]Time[/bold] - The time of day to run (HH:MM).\n"
|
|
" [bold]Sources[/bold] - Which sources to back up. Leave empty to back up all sources.\n"
|
|
" [bold]Destinations[/bold] - Which destinations to use. Leave empty to use all destinations.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - Daily schedules let you pick specific days of the week.\n"
|
|
" - Custom cron: minute hour day month weekday"
|
|
),
|
|
"logs-screen": (
|
|
"[bold]Logs Screen[/bold]\n"
|
|
"\n"
|
|
"View backup operation logs.\n"
|
|
"\n"
|
|
"[bold]Table columns:[/bold]\n"
|
|
" [bold]Status[/bold] - Outcome (Success, Failed, Interrupted, Empty).\n"
|
|
" [bold]Date/Time[/bold] - When the operation ran.\n"
|
|
" [bold]Size[/bold] - Log file size.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]View[/bold] - Display the selected log file contents in the viewer below.\n"
|
|
"\n"
|
|
"[bold]Status detection:[/bold]\n"
|
|
" - [green]Success[/green] - 'Backup completed' found, no errors.\n"
|
|
" - [red]Failed[/red] - ERROR or FATAL entries found.\n"
|
|
" - [yellow]Interrupted[/yellow] - Log exists but backup did not complete.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - The 20 most recent logs are shown.\n"
|
|
" - Check logs after scheduled backups to verify they ran successfully."
|
|
),
|
|
"settings-screen": (
|
|
"[bold]Settings Screen[/bold]\n"
|
|
"\n"
|
|
"Global application settings.\n"
|
|
"\n"
|
|
"[bold]General:[/bold]\n"
|
|
" [bold]Log Level[/bold] - Verbosity of log output.\n"
|
|
" [bold]Log Retention[/bold] - Days to keep log files.\n"
|
|
" [bold]Retention Count[/bold] - Default number of snapshots to keep.\n"
|
|
" [bold]Bandwidth Limit[/bold] - Default transfer speed limit in KB/s.\n"
|
|
" [bold]Disk Threshold[/bold] - Warn when destination disk usage exceeds this percentage.\n"
|
|
"\n"
|
|
"[bold]Email Notifications:[/bold]\n"
|
|
" Configure SMTP to receive email alerts on backup success or failure.\n"
|
|
"\n"
|
|
"[bold]SSH:[/bold]\n"
|
|
" [bold]Timeout[/bold] - Seconds before SSH gives up.\n"
|
|
" [bold]Retries[/bold] - Number of retry attempts.\n"
|
|
"\n"
|
|
"[bold]Web Dashboard:[/bold]\n"
|
|
" Port, host, and API key for the web interface.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - Per-source and per-destination settings override these defaults."
|
|
),
|
|
"running-tasks-screen": (
|
|
"[bold]Running Tasks[/bold]\n"
|
|
"\n"
|
|
"Monitor running backup and restore jobs.\n"
|
|
"\n"
|
|
"[bold]Table columns:[/bold]\n"
|
|
" [bold]Status[/bold] - Current state (running, ok, failed, unknown).\n"
|
|
" [bold]Job[/bold] - Description of the operation.\n"
|
|
" [bold]Started[/bold] - When the job began.\n"
|
|
" [bold]Duration[/bold] - Elapsed time.\n"
|
|
"\n"
|
|
"[bold]Buttons:[/bold]\n"
|
|
" [bold]View Log[/bold] - Show live log output and progress bar for the selected job.\n"
|
|
" [bold]Kill Job[/bold] - Terminate the selected running job.\n"
|
|
" [bold]Clear Finished[/bold] - Remove completed jobs from the list.\n"
|
|
"\n"
|
|
"[bold]Tips:[/bold]\n"
|
|
" - The table refreshes every second.\n"
|
|
" - The progress bar shows rsync transfer progress when viewing a running job's log.\n"
|
|
" - Jobs continue in the background even if you navigate away from this screen."
|
|
),
|
|
}
|