diff --git a/Home.md b/Home.md index 29582f1..cf4e83d 100644 --- a/Home.md +++ b/Home.md @@ -5,115 +5,74 @@ Full-site backup and restore for Joomla — database, files, and configuration. | Field | Value | |---|---| | **Package** | `pkg_mokosuitebackup` | -| **Type** | Joomla Package (8 sub-extensions) | +| **Type** | Joomla Package (9 sub-extensions) | | **Joomla** | 6.x+ | | **PHP** | 8.1+ | | **License** | GPL-3.0-or-later | -| **Repo** | [MokoSuiteBackup](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup) | --- ## Guides -- [Installation](guides/Installation) — Download, install, and configure -- [Configuration](guides/Configuration) — Component settings, profiles, dashboard -- [Backup Profiles](guides/Backup-Profiles) — Create and manage backup profiles -- [Content Snapshots](guides/Content-Snapshots) — Lightweight article/module snapshots and restore -- [Scheduled Tasks](guides/Scheduled-Tasks) — Automate backups and snapshots with Joomla scheduler -- [CLI Usage](guides/CLI-Usage) — Command-line backup, snapshot, and restore -- [Akeeba Migration](guides/Akeeba-Migration) — Migrate from Akeeba Backup Pro +- [Installation](guides/Installation) +- [Configuration](guides/Configuration) +- [Backup Profiles](guides/Backup-Profiles) +- [Content Snapshots](guides/Content-Snapshots) +- [Scheduled Tasks](guides/Scheduled-Tasks) +- [CLI Usage](guides/CLI-Usage) +- [Akeeba Migration](guides/Akeeba-Migration) ## Reference -- [REST API](reference/REST-API) — Backup and snapshot API endpoints -- [Remote Storage](reference/Remote-Storage) — SFTP, S3, Google Drive upload -- [Encryption](reference/Encryption) — AES-256 archive encryption -- [Differential Backups](reference/Differential-Backups) — Incremental backup strategy -- [Troubleshooting](guides/Troubleshooting) — Common issues and solutions +- [REST API](reference/REST-API) +- [Remote Storage](reference/Remote-Storage) +- [Encryption](reference/Encryption) +- [Differential Backups](reference/Differential-Backups) +- [Troubleshooting](guides/Troubleshooting) --- ## Features -### Backup Types -- Full site (database + files + configuration) -- Database-only and files-only modes -- Differential — only files changed since last full backup -- Pre-flight validation — checks directory, disk space, extensions, credentials before starting -- Auto-verify integrity after creation +### Backup +- Full site, database-only, files-only, differential +- Pre-flight validation before backup starts +- Auto-verify archive integrity after creation +- Achive formats: ZIP, tar.gz, 7z +- AES-256 encryption (ZIP) or 7z native encryption +- Data sanitization: clear passwords, emails, sessions +- Manual purge by date with count preview ### Content Snapshots -- Lightweight JSON snapshots of articles, categories, and modules +- Lightweight JSON snapshots of articles, categories, modules - Includes tags, custom fields, workflow associations -- Restore modes: Replace (clean slate) or Merge (upsert) -- Selective article restore — browse and pick individual articles -- Automatic retention (max count + max age) -- Scheduled snapshot task via com_scheduler - -### Archive Formats -- ZIP with optional AES-256 encryption -- tar.gz for maximum compatibility -- Configurable naming with date/host/profile placeholders - -### Scheduling & Automation -- Joomla Scheduled Tasks integration (backups + snapshots) -- Web cron endpoint for shared hosting (random secret, IP whitelist) -- Pre-action backups — auto-backup before extension update or uninstall -- CLI: `mokosuitebackup:run`, `mokosuitebackup:snapshot`, `mokosuitebackup:restore` +- Restore: Replace / Merge / Selective article restore +- Scheduled snapshot task + automatic retention ### Remote Storage -- SFTP (SSH File Transfer) with key file authentication — key stored base64-encoded in database -- Amazon S3 (and S3-compatible: DigitalOcean Spaces, Wasabi, MinIO) -- Google Drive with OAuth2 and resumable uploads +- SDTP support with SSH key file authentication + remote directory browser +- Amazon S3 (and S3-compatible) +- Google Drive with OAuth2 - Graceful degradation — local backup preserved if upload fails -### Notifications -- Email on success and/or failure per profile -- ntfy push notifications — instant alerts to phone or desktop -- Notifications for restore operations (site restore, snapshot create/restore) +### MokoRestore Standalone Wizard +- 9-step restore wizard that works without Joomla installed +- Per-table conflict resolution: Replace / Skip / Merge / Data Only +- Post-restore: reset passwords, hits, versions, sessions, cache +- Auto-detect sanitized passwords and prompt for reset +- Standalone mode: restore.php scans directory for ZIP files -### Dashboard -- Last backup status, next scheduled, total count, storage used -- Snapshot widget — latest snapshot info, type badges, item counts -- Backup trend chart — CSS bar chart showing 30-day backup sizes -- Storage breakdown — per-profile disk usage +### Admin Dashboard +- CPanel module with backup status and quick action buttons +- Snapshot widget, backup trend chart, storage breakdown - System health checks -### Security -- Granular ACL permissions — separate run, download, restore, snapshot manage -- Configuration sanitization — credentials stripped from backups -- SSH key stored base64-encoded in database, never exposed in UI -- Webcron secret hardening — strength meter, rejects weak patterns -- MokoRestore security gate — filesystem verification before restore -- Path traversal protection on all archive extraction - -### Restore -- In-admin restore with file and database options -- AJAX stepped restore — prevents timeout on shared hosting -- CLI restore with --files-only, --db-only, --password options -- MokoRestore standalone wizard — works without Joomla installed -- Backup comparison — select two backups for side-by-side diff -- Archive browser — view files inside a backup without extracting - -### Per-Profile Management -- Unlimited profiles with independent settings -- Per-profile retention (days + count) -- Per-profile exclusions and notifications +### CLI +- `mokosuitebackup:run` - `mokosuitebackup:restore` - `mokosuitebackup:snapshot` ### REST API - -| Endpoint | Description | -|---|---| -| `POST /api/v1/mokosuitebackup/backup` | Start a backup | -| `GET /api/v1/mokosuitebackup/backups` | List backup records | -| `GET /api/v1/mokosuitebackup/backup/:id/download` | Download archive | -| `DELETE /api/v1/mokosuitebackup/backup/:id` | Delete backup record | -| `GET /api/v1/mokosuitebackup/profiles` | List backup profiles | -| `GET /api/v1/mokosuitebackup/snapshots` | List snapshots | -| `POST /api/v1/mokosuitebackup/snapshot` | Create snapshot | -| `POST /api/v1/mokosuitebackup/snapshot/:id/restore` | Restore snapshot | -| `DELETE /api/v1/mokosuitebackup/snapshot/:id` | Delete snapshot | -| `GET /api/v1/mokosuitebackup/snapshot/:id/download` | Download snapshot JSON | +- Backup: start, list, download, delete, profiles +- Snapshots: create, list, restore, delete, download --- @@ -122,8 +81,3 @@ Full-site backup and restore for Joomla — database, files, and configuration. 1. Download from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup/releases) 2. Install via Extensions > Install 3. Components > MokoSuiteBackup > Backup Now -4. Configure notifications and remote storage in profile settings - ---- - -> [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/mokoplatform/wiki/Home)