Main entry point with tabs for Backups and Settings
Full backup management UI:
- Create backups
- List/view backups
- Restore database
- Upload to cloud
- Delete backups
Configuration interface:
- Schedule settings
- Retention policy
- Cloud remotes
- Enable/disable automation
import BackupDashboard from './components/BackupDashboard';
<Route path="/admin/backups" element={<BackupDashboard />} />import { Backup as BackupIcon } from '@mui/icons-material';
<MenuItem onClick={() => navigate('/admin/backups')}>
<BackupIcon /> Backups
</MenuItem>npm install @mui/material @mui/icons-material date-fns
# or
./install-backup-frontend.sh- 📊 Total backups count
- ⏱️ Retention period
- 🔄 Backup interval
- ✅ Service status
- ➕ Create manual backup
- 📥 Download backup file
- ♻️ Restore from backup
- ☁️ Upload to cloud
- 🗑️ Delete backup
- 🧹 Cleanup old backups
- 🌐 40+ cloud providers via rclone
- ☁️ S3, Google Drive, Dropbox, OneDrive, etc.
- 🔧 Easy remote configuration
- 📤 One-click upload to cloud
- ⏰ Configure backup schedule
- 📅 Set retention policies
- 🌍 Manage cloud remotes
- 🔀 Toggle automation
GET /api/backups - List backups
POST /api/backups - Create backup
GET /api/backups/status - Get status
POST /api/backups/restore - Restore backup
DELETE /api/backups/{filename} - Delete backup
GET /api/backups/download/{filename} - Download
POST /api/backups/cleanup - Cleanup old
1. Click "Create Backup"
2. Add description (optional)
3. Click "Create Backup"
4. Wait for completion
1. Find backup in list
2. Click restore icon
3. Review details
4. Confirm (⚠️ OVERWRITES DATA!)
5. Wait for completion
1. Configure remote (Settings tab)
2. Click cloud icon on backup
3. Select remote & path
4. Click "Upload"
1. Go to Settings tab
2. Set interval (hours)
3. Set retention (days)
4. Set max backups
5. Click "Save Settings"
- Components:
frontend/src/components/Backup*.js - Guide:
BACKUP_FRONTEND_GUIDE.md - Quick Ref:
BACKUP_FRONTEND_QUICK_REF.md - Install Script:
install-backup-frontend.sh
Material-UI (MUI) with:
- Responsive grid layout
- Mobile-friendly design
- Dark/light mode support
- Icon integration
{
"@mui/material": "^5.x",
"@mui/icons-material": "^5.x",
"react": "^18.x",
"date-fns": "^2.x"
}- 🔒 Requires authentication
- 👤 Admin-only access recommended
- 🛡️ CSRF protection
⚠️ Restore requires confirmation
| Issue | Solution |
|---|---|
| Backups not loading | Check backend API at /api/backups |
| Upload fails | Verify rclone remote config |
| Restore fails | Check database accessibility |
| Settings not saving | Implement backend settings endpoint |
- 📖 Full guide:
BACKUP_FRONTEND_GUIDE.md - 🔧 Backend guide:
DATABASE_BACKUP_GUIDE.md - 💻 CLI:
./backup-database.sh --help - 📝 API docs: Backend
/api/backupsendpoints