Jonathan Miller e62dba8f40
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: PR Check / Branch Policy (pull_request) Failing after 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Generic: Repo Health / Access control (pull_request) Successful in 3s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 16s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 53s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 31s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 8m41s
feat: standalone restore script — separate file that scans for ZIPs (#107)
New MokoRestore mode: 'standalone' generates restore.php as a separate
file that scans its directory for ZIP backup archives and lets the user
choose which one to restore. Unlike 'wrapped' mode which bundles
restore.php inside the backup ZIP, standalone mode keeps both files
separate — ideal for remote servers where you SCP the backup.

Changes:
- MokoRestore::generateStandalone() — writes restore.php with ZIP scanner
- Profile form: include_mokorestore now a dropdown (none/wrapped/standalone)
- BackupEngine: standalone mode writes restore.php + uploads to remote
- Restore script uses safe DOM methods (no innerHTML with user data)

Closes #107
2026-06-23 11:20:23 -05:00

MokoSuiteBackup

Full-site backup and restore for Joomla — database, files, and configuration.

Overview

MokoSuiteBackup is a comprehensive backup solution for Joomla 4/5/6 sites. It creates complete site backups including the database, files, and configuration, packaged into downloadable ZIP archives. Supports multiple backup profiles, scheduled backups via CLI/cron, and a REST API for remote management.

Features

  • Full site backup (database + files + configuration)
  • Database-only backup mode
  • Files-only backup mode
  • Multiple backup profiles with independent configurations
  • File and directory exclusion filters
  • Table exclusion filters for database backups
  • Step-based backup engine (avoids PHP timeout on large sites)
  • CLI script for cron/scheduled backups
  • REST API (Joomla Web Services) for remote management
  • Backup record management (list, download, delete)
  • Automatic old backup cleanup (configurable retention)
  • Admin dashboard with backup history and storage usage

Installation

  1. Download pkg_mokobackup-*.zip from Releases
  2. Joomla Administrator > Extensions > Install
  3. System plugin enabled automatically on install

Configuration

  • Component: Administrator > Components > MokoSuiteBackup
  • Profiles: Create backup profiles with different file/database filters
  • System Plugin: Configure scheduled backup triggers and notifications
  • CLI: php cli/mokobackup.php --profile=1 for cron-based backups

REST API

The webservices plugin exposes endpoints compatible with the MokoBackup MCP server:

  • POST /api/index.php/v1/mokobackup/backup — Start a backup
  • GET /api/index.php/v1/mokobackup/backups — List backup records
  • GET /api/index.php/v1/mokobackup/backup/:id/download — Download archive
  • DELETE /api/index.php/v1/mokobackup/backup/:id — Delete backup record
  • GET /api/index.php/v1/mokobackup/profiles — List backup profiles

License

GPL-3.0-or-later

Author

Moko Consultinghello@mokoconsulting.tech

S
Description
Full-site backup and restore for Joomla - database, files, and configuration
https://mokoconsulting.tech/support/products/mokosuitebackup Readme
3.1 MiB
2026-06-23 17:08:20 +00:00
Languages
PHP 99.7%
HTML 0.3%