Backups
Create file or database backups under Sites → Backups → New Backup.
Backup Types
File Backup
File backups zip selected directories; database backups run mysqldump and zip the result. You select which directories to include (e.g. web_root/, storage/, resources/). The panel zips the selected directories into a .zip archive stored at /var/www/{domain}/backups.
Before creating a backup, click Estimate Size to see the approximate size of the archive.
Database Backup
A database backup runs mysqldump on the selected database and zips the resulting .sql file. The archive is stored in the same backups directory.
Site Backup Workflow
- Open Sites → Backups → New Backup
- Choose file or database mode
- For file backups, select the folders you want to include and use Estimate Size before confirming
- For database backups, you can back up one linked site database at a time
Quota
Backup storage counts against your plan quota — a warning is shown when usage reaches 80%. Backup storage counts against your plan's disk_quota_mb. A yellow warning banner is shown on the backups page when usage reaches 80% of the quota. You will also receive a notification email.
Backups are stored on the same server as your sites. For true disaster recovery, download your backups regularly and store them off-site.
Downloading Backups
Download or delete backups at any time. Backups are stored on the same server. Click the download icon next to any backup to download it directly to your browser.
Restoring Database Backups
Use Sites → Backups → Restore to upload a database dump for the current site. The first restore scope supports .sql, .sql.gz, and .zip archives that contain a .sql or .sql.gz file.
Before importing, Herne reads the target database connection from the site's existing .env and writes a timestamped safety dump under storage/app/restores/safety/site_{id}/. The restore report shows the target site, source file, safety backup path, status, and a sanitized error when something fails.
Restore does not apply any <code>.env</code> file from an uploaded archive and does not overwrite the target site's <code>.env</code>. File restore is planned, but not enabled in this MVP.
Deleting Backups
Click the delete icon to remove a backup. The .zip file is deleted from the server and the quota is recalculated.
Panel Backups
Admins can create a full Herne panel backup from Admin → Panel Backups. This archive includes the panel .env, storage/, Composer metadata, the Herne MySQL dump, and the Nginx site file when readable. Panel backups are stored under storage/app/panel-backups/.
Migration Backups
Canonical domain migration uses its own backup and retired-path flow before it moves a live site path. Old active folders are moved under timestamped paths such as /var/www/_retired/domain_YYYYMMDD_HHMMSS, and migration metadata is saved for review.
This protects the live filesystem during domain rename work, but it is not a replacement for regular downloadable file and database backups.
Global Database Backups (Admin)
Admins can also back up all tenant databases from Admin → DB Backups.
- See every linked site database in one table
- Filter by site, owner, status, or search text
- Run a backup for one row immediately
- Select multiple rows and start a bulk backup run
- Review the latest filename, timestamp, size, and success state without opening each site
- Spot databases that have never been backed up yet
The dashboard also surfaces backup pressure: tenants see quota usage warnings, and admins see alerts when some site databases still have no backup history.