Appearance
Backups
Mintrix keeps two kinds of database backups:
| Made | Kept in | |
|---|---|---|
| Scheduled backups | Every day (or every Sunday) at the time you choose, and whenever you click Create Backup | The app's storage; listed under Settings > Backups |
| Update backups | By every update, before it changes anything | /opt/mintrix/mysql_backups/ |
Keep .env with your backups
A backup is only usable with the same APP_KEY, which is in /opt/mintrix/.env. Without it, encrypted settings and two-factor secrets cannot be read.
Scheduled backups
Under Settings > Backups:
- Scheduled Backups turns them on or off. New installations have them on.
- Frequency and Time: every day, or every Sunday, at that time (in the timezone of Settings > General).
- Backups to Keep: older ones are deleted after each new backup;
0keeps all.
Below the settings, a status line shows whether scheduled backups are on, and when the last and the next backup are.
If the server was off or restarting at backup time, Mintrix makes the missed backup within the hour. The dashboard warns when scheduled backups are off, when a backup is overdue, and when the scheduler or the queue worker has stopped. You can hide these warnings under Preferences > Workspace.
Every backup, restore and upload is written to the System Log.
Restore a backup
A restore replaces everything
All data in Mintrix is replaced with the backup. Anyone whose account is not in the backup is signed out, possibly you too: sign in again with an account from the backup.
In the panel: under Settings > Backups, click Restore on the backup. Mintrix first makes a copy of the current database, marked Before restore, so you can go back by restoring that one. The restore runs in the background, and the page shows when it has finished. A backup from an older version of Mintrix is brought up to date afterwards.
From the server, for example when the panel does not open:
sh
cd /opt/mintrix
sudo docker compose exec app php artisan mintrix:restore # choose from the list
sudo docker compose exec app php artisan mintrix:restore mintrix_2026-10-17_020000.sql.gzIt also makes the Before restore copy first.
Restore an update backup or a file from another server
Under Settings > Backups, click Upload backup and choose the file: a gzipped database dump (.sql.gz) of up to 32 MB, such as an update backup from /opt/mintrix/mysql_backups/. It is listed as Uploaded, and you restore it like any other backup.
A larger file goes in from the server instead. In the backups folder its name must look like mintrix_YYYY-MM-DD_HHMMSS-uploaded.sql.gz:
sh
cd /opt/mintrix
sudo docker compose cp mysql_backups/20261017-020000-before-0.5.0.sql.gz \
app:/var/www/mintrix/storage/app/private/backups/mintrix_2026-10-17_020000-uploaded.sql.gz
sudo docker compose exec app php artisan mintrix:restore mintrix_2026-10-17_020000-uploaded.sql.gzMove to a new server
- On the new server, put the old server's
.envin/opt/mintrix/before you install. The installer then uses it, with the sameAPP_KEY. - Install Mintrix and sign in.
- Upload the latest backup under Settings > Backups and restore it.
Keep copies off the server
Both kinds of backups stay on the server, so they are lost with it. Download scheduled backups from Settings > Backups now and then, or copy both kinds to another machine together with .env:
sh
cd /opt/mintrix
sudo docker compose cp app:/var/www/mintrix/storage/app/private/backups ./panel-backups
sudo rsync -a panel-backups mysql_backups .env backup@backup-host:mintrix/