diff --git a/src/app/_components/HelpModal.tsx b/src/app/_components/HelpModal.tsx index 871ceed..7d0f84e 100644 --- a/src/app/_components/HelpModal.tsx +++ b/src/app/_components/HelpModal.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import { Button } from './ui/button'; -import { HelpCircle, Server, Settings, RefreshCw, Clock, Package, HardDrive, FolderOpen, Search, Download, Lock, GitBranch } from 'lucide-react'; +import { HelpCircle, Server, Settings, RefreshCw, Clock, Package, HardDrive, FolderOpen, Search, Download, Lock, GitBranch, Archive } from 'lucide-react'; import { useRegisterModal } from './modal/ModalStackProvider'; interface HelpModalProps { @@ -11,7 +11,7 @@ interface HelpModalProps { initialSection?: string; } -type HelpSection = 'server-settings' | 'general-settings' | 'auth-settings' | 'sync-button' | 'auto-sync' | 'available-scripts' | 'downloaded-scripts' | 'installed-scripts' | 'lxc-settings' | 'update-system' | 'repositories'; +type HelpSection = 'server-settings' | 'general-settings' | 'auth-settings' | 'sync-button' | 'auto-sync' | 'available-scripts' | 'downloaded-scripts' | 'installed-scripts' | 'lxc-settings' | 'update-system' | 'repositories' | 'backups'; export function HelpModal({ isOpen, onClose, initialSection = 'server-settings' }: HelpModalProps) { useRegisterModal(isOpen, { id: 'help-modal', allowEscape: true, onClose }); @@ -30,6 +30,7 @@ export function HelpModal({ isOpen, onClose, initialSection = 'server-settings' { id: 'downloaded-scripts' as HelpSection, label: 'Downloaded Scripts', icon: HardDrive }, { id: 'installed-scripts' as HelpSection, label: 'Installed Scripts', icon: FolderOpen }, { id: 'lxc-settings' as HelpSection, label: 'LXC Settings', icon: Settings }, + { id: 'backups' as HelpSection, label: 'LXC Backups', icon: Archive }, { id: 'update-system' as HelpSection, label: 'Update System', icon: Download }, ]; @@ -925,6 +926,144 @@ export function HelpModal({ isOpen, onClose, initialSection = 'server-settings' ); + case 'backups': + return ( +
+ Create backups of your LXC containers before updates or on-demand. Backups are created using Proxmox VE's built-in backup system and can be stored on any backup-capable storage. +
+
+ The backup feature allows you to create snapshots of your LXC containers before performing updates or at any time. Backups are created using the vzdump command via SSH and stored on your configured Proxmox storage.
+
+ When updating an LXC container, you can choose to create a backup first: +
++ If a backup fails, you'll be warned but can still choose to proceed with the update. This ensures updates aren't blocked by backup issues. +
++ Create a backup at any time without updating: +
++ Note: Standalone backups are only available for SSH-enabled scripts with valid container IDs. +
++ The system automatically discovers backup-capable storages from your Proxmox servers: +
+/etc/pve/storage.cfg on each server+ You can view all storages for a server, including which ones support backups: +
++ This helps you identify which storages are available for backups before starting a backup operation. +
++ When a backup is initiated, the following happens: +
+vzdump <CTID> --storage <STORAGE> --mode snapshot+ Storage information is cached to improve performance: +
+