Update "Configuration"

2026-06-29 16:39:39 +00:00
parent 6b6b0631a5
commit cd975439b2
2 changed files with 118 additions and 60 deletions
+118
@@ -0,0 +1,118 @@
# Configuration
## Component Settings
Access via **Components > MokoSuiteBackup > Options** (toolbar gear icon).
### General
| Setting | Type | Default | Description |
|---|---|---|---|
| Default Backup Directory | FolderPicker | `[DEFAULT_DIR]` | Default storage path for new profiles |
| Default Profile | SQL list | `1` | Profile used by dashboard Backup Now |
| Show Update Notice | Radio | Yes | Display update notifications |
### Defaults
| Setting | Type | Default | Description |
|---|---|---|---|
| Default Archive Format | List | ZIP | zip, tar.gz, 7z for new profiles |
| Default MokoRestore Mode | List | None | none, wrapped, standalone |
| Default Sanitize Passwords | Radio | No | Sanitize user passwords in new profiles |
| Default Sanitize Emails | Radio | No | Sanitize user emails in new profiles |
| Default Sanitize Sessions | Radio | Yes | Skip session data in new profiles |
| Log Retention Days | Number | 90 | Delete backup logs older than N days (0365) |
### Webcron
| Setting | Type | Default | Description |
|---|---|---|---|
| Webcron Secret | WebcronSecret | — | Secret key with CSPRNG generator + strength meter |
| Webcron Enabled | Radio | No | Enable/disable webcron endpoint |
| Webcron IP Whitelist | IpWhitelist | — | Allowed IPs with auto-detect + "Add my IP" button |
### Pre-action
| Setting | Type | Default | Description |
|---|---|---|---|
| Backup Before Update | Radio | No | Auto-backup before Joomla extension updates |
| Backup Before Uninstall | Radio | No | Auto-backup before extension uninstall |
### Cleanup
| Setting | Type | Default | Description |
|---|---|---|---|
| Max Backup Age | Number | 30 days | Delete completed backups older than this (1365) |
| Max Backups | Number | 10 | Keep at most this many completed backups (1100) |
### Snapshot Retention
| Setting | Type | Default | Description |
|---|---|---|---|
| Max Snapshot Count | Number | 20 | Maximum number of snapshots to keep (0100) |
| Max Snapshot Age | Number | 30 days | Delete snapshots older than this (0365) |
### Notifications
| Setting | Type | Default | Description |
|---|---|---|---|
| Notification Email | Text | — | Comma-separated recipient email addresses |
| Notify on Success | Radio | No | Send email when backup completes |
| Notify on Failure | Radio | Yes | Send email when backup fails (includes log excerpt) |
### ntfy Push Notifications
| Setting | Type | Default | Description |
|---|---|---|---|
| ntfy Server | URL | `https://ntfy.mokoconsulting.tech` | ntfy server URL |
| ntfy Topic | Text | — | ntfy topic name |
| ntfy Token | Password | — | ntfy access token (optional) |
### Permissions
Standard Joomla ACL permissions configuration. See [ACL Permissions](#acl-permissions) below.
---
## ACL Permissions
MokoSuiteBackup defines 14 ACL actions in `access.xml`:
| Permission | Description |
|---|---|
| `core.admin` | Configure component settings and permissions |
| `core.options` | Access component options |
| `core.manage` | Access the component backend |
| `core.create` | Create new profiles |
| `core.delete` | Delete profiles and backup records |
| `core.edit` | Edit profiles |
| `core.edit.state` | Change profile published state |
| `mokosuitebackup.backup.run` | Start a backup |
| `mokosuitebackup.backup.download` | Download backup archives |
| `mokosuitebackup.backup.restore` | Restore from a backup |
| `mokosuitebackup.snapshot.manage` | Create, restore, and delete snapshots |
| `mokosuitebackup.backup.purge` | Purge old backups |
| `mokosuitebackup.backup.compare` | Compare two backups side-by-side |
| `mokosuitebackup.backup.browse` | Browse files inside an archive |
All permissions are enforced across admin controllers, CLI commands, and REST API endpoints.
---
## Dashboard Widget
The quickicon plugin shows backup status on the Joomla admin dashboard:
- **Green (OK)**: Last backup within 7 days, no failures
- **Warning**: No backups yet, recent failures, or last backup > 7 days ago
- Shows: last backup time, total count, total storage
## Backup Profile Settings
Each profile has configuration tabs for:
- **General** — Title, description, backup type (Full / Database Only / Files Only / Differential)
- **Archive** — Format, compression, split size, backup directory (with placeholder pills), encryption, MokoRestore mode, restore script name
- **Exclusions** — Exclude directories, files (with wildcards), and database tables
- **Notifications** — Per-profile email, user groups, ntfy topic/server/token
- **Remote Destinations** — AJAX-driven add/edit/delete/toggle modal for multiple remotes per profile (see [Remote Storage](reference/Remote-Storage))
- **Retention** — Per-profile retention days and count (0 = use global)
- **Sanitization** — Sanitize passwords, emails, sessions; preserve super admin option
-60
@@ -1,60 +0,0 @@
# Configuration
## Component Settings
Access via **Components > MokoSuiteBackup > Options** (toolbar gear icon).
The component has two main views:
- **Backup Records** — History of all backups with status, size, download, verify, and restore
- **Backup Profiles** — Configurable backup profiles
## Dashboard Widget
The quickicon plugin shows backup status on the Joomla admin dashboard:
- **Green (OK)**: Last backup within 7 days, no failures
- **Warning**: No backups yet, recent failures, or last backup > 7 days ago
- Shows: last backup time, total count, total storage
## System Plugin Settings
Access via **System > Manage > Plugins**, search for "System - MokoSuiteBackup".
| Setting | Default | Description |
|---|---|---|
| Auto Cleanup | Yes | Automatically remove old backup archives |
| Max Backup Age | 30 days | Delete completed backups older than this |
| Max Backup Count | 10 | Keep at most this many completed backups |
## Backup Profile Settings
Each profile has six configuration tabs:
### General Tab
- **Title** — Profile name (e.g. "Daily Full Backup")
- **Description** — Optional notes
- **Backup Type** — Full Site, Database Only, Files Only, or Differential
### Archive Settings Tab
- **Archive Format** — ZIP
- **Compression Level** — None / Low / Normal / Maximum
- **Split Size** — Split archive into parts (0 = no splitting)
- **Backup Directory** — Relative path from Joomla root
- **Encryption Password** — AES-256 archive encryption (blank = none)
- **Include Restore Script** — Embed standalone restore.php for bare-server restores
### Exclusion Filters Tab
- **Exclude Directories** — One path per line (relative to Joomla root)
- **Exclude Files** — One filename/pattern per line (supports `*` wildcards)
- **Exclude Tables** — One table name per line (use `#__` prefix)
### Notifications Tab
- **Notification Email(s)** — Comma-separated recipient list
- **Notify on Success** — Send email when backup completes
- **Notify on Failure** — Send email when backup fails (includes log excerpt)
### Remote Storage Tab
See [Remote Storage](Remote-Storage) for FTP, Google Drive, and S3 settings.
### Sidebar
- **Status** — Published / Unpublished
- **Ordering** — Display order in profile lists