Full backups and one click migration for Flarum 2.
Backup & Migration packs your whole forum into a single portable .flarum file: database, uploads, storage and extensions. Restore it on the same install or on a brand new server and keep going.
I wrote it after one too many rounds of the mysqldump and zip dance while moving forums between hosts. It ended up becoming something close to what All-in-One WP Migration is for WordPress, just built natively for Flarum.
- Exports everything into one streaming
.flarumfile, so multi GB forums never need to fit in memory - Lets you pick what goes in: database, assets, storage and individual extensions
- Restores with per section and per extension checkboxes, resumable in chunks
- Migrates between database engines: export from MySQL, restore on PostgreSQL, MariaDB or SQLite
- Rewrites the forum URL automatically when restoring on a different host
- Encrypts archives with libsodium when you ask it to, including transfers to another server's public key
- Ships
composer.jsonandcomposer.lockinside the archive, so vendor extensions stay reproducible
composer require ramon/backup
php flarum migrate
php flarum cache:clearThen enable Backup & Migration on the Extensions page of the admin panel.
The same engine runs as console commands, with no HTTP timeout and no browser tab to babysit. Best route for large forums and cron jobs.
php flarum backup:export --all # everything
php flarum backup:export --db --target=postgres # database only, retargeted to another engine
php flarum backup:import /backups/forum.flarum --yesA restore replaces the destination data, so backup:import refuses to run without --yes. Use --help on either command for the full list of flags.
Encrypted archives use a libsodium sealed box wrapping a per archive stream key. The public key lives in the database, the private key only in config.php. Keep that private key safe: without it an encrypted archive cannot be opened.
MIT. Found a bug or have an idea? Open an issue.