Web UI
The fsbackup web UI is a FastAPI + HTMX interface that runs as fsbackup-web.service on the backup server.
Accessing the UI
The web UI binds to 0.0.0.0:8080 by default. Open http://<backup-server>:8080 in your browser.
sudo systemctl status fsbackup-web
sudo journalctl -u fsbackup-web -f
Dashboard
The dashboard shows:
- Last run status per class (exit code from the latest runner run)
- S3 export summary — last run time, objects uploaded/skipped/failed, bytes transferred
Snapshots
The Snapshots page lists all ZFS snapshots, filterable by tier, date, class, and target. Each snapshot links to a file browser backed by the ZFS .zfs/snapshot/ read-only directory.
Configuration
The Configuration page has four tabs:
- Hosts — remote hosts derived from
targets.yml, with all their associated targets - Targets — all targets from
targets.ymlwith source path, rsync options, and ZFS dataset size - Schedule — all systemd timer schedules; runner schedules sourced from
fsbackup.conf, fixed timers from their unit files - Volumes & Maintenance — ZFS pool disk usage and S3 bucket object count and total size
Running jobs manually
The Run Jobs page lets you trigger any script directly from the UI:
- Run the doctor for a class
- Run the runner (daily/weekly/monthly) for a class, with optional
--dry-runor--targetfilter - Run retention or S3 export
All jobs stream their output to the page in real time.
Restore
The Restore page provides a guided interface for restoring files from a snapshot. See Restoring data for details.
Authentication
Generate a bcrypt hash for your password:
htpasswd -nbB "" yourpassword | cut -d: -f2
Set it in web/.env (or the environment passed to fsbackup-web.service):
AUTH_ENABLED=true
AUTH_PASSWORD_HASH='$2y$10$...'
Restart the service after changing auth settings:
sudo systemctl restart fsbackup-web