Backrest: Restic Backups With a Web UI

Backups fail most often around the edges: unclear ownership, forgotten cron jobs, untested restores, missing notifications, and storage credentials that only one person understands. Backrest is trending because it keeps the proven restic engine underneath while adding a practical control surface for day-to-day operations.
What Is Backrest?
Backrest is a web-accessible backup solution built on top of restic. It wraps the restic CLI with a Web UI for creating repositories, browsing snapshots, restoring files, scheduling backups, and running repository health tasks.
The project is written in Go and ships as a lightweight standalone binary. Restic is the main dependency, and Backrest can either use a compatible system restic binary or manage one in its own data directory. That matters for operators because the escape hatch stays open: advanced users can still reach for the restic CLI when a recovery case needs it.
Key Features
- Snapshot browsing and restore: inspect backup contents from the browser and restore files without memorizing every restic command.
- Scheduled maintenance: run backup, prune, check, forget, and related health tasks on cron-style schedules.
- Storage flexibility: use restic storage backends such as S3, B2, Azure, GCS, local paths, SFTP, and rclone remotes.
- Notifications: send status updates through Discord, Slack, Shoutrrr, Gotify, or Healthchecks.
- Hooks: run pre-backup and post-backup commands for app quiescing, database dumps, or local validation.
Recent Backrest releases also added experimental multihost sync and polished SFTP management, which makes it especially interesting for small fleets, homelabs, NAS deployments, and internal platform services.
Installation
The fastest Linux and macOS path is the official install script:
curl -fsSL https://raw.githubusercontent.com/garethgeorge/backrest/main/install.sh | bash
Backrest listens on 127.0.0.1:9898 by default. For a remote NAS or lab host, bind it to all interfaces:
curl -fsSL https://raw.githubusercontent.com/garethgeorge/backrest/main/install.sh | bash -s -- --allow-remote-access
The project also supports Homebrew, Windows installers, Docker images, and a minimal scratch image. Review the install script before piping it into a shell, especially on production hosts.
Operational Workflow
A practical first rollout is simple:
# 1. Create or import a restic repository.
# 2. Add one non-critical path as a backup plan.
# 3. Schedule backups plus periodic check and prune tasks.
# 4. Configure a notification target.
# 5. Restore one file into a temporary directory and document the result.
That last step is the important one. Backrest makes backups easier to operate, but recovery confidence still comes from drills. Track restore time, storage egress cost, failed files, and whether app-level consistency needs a hook.
Operational Tips
Do not expose Backrest directly to the internet. Put it behind VPN, SSO, or a trusted reverse proxy, and keep repository passwords out of shared runbooks. Use separate repositories or plans when retention, ownership, or restore permissions differ.
For databases, pair Backrest with explicit dump or quiesce hooks. For servers, include config paths, service definitions, secrets metadata, and the restore commands needed to rebuild the host. For object storage targets, test both upload and restore paths because credentials, lifecycle rules, and regional outages can all surprise you.
Conclusion
Backrest is a useful middle ground between raw restic scripts and a heavyweight enterprise backup platform. It keeps the storage and encryption model operators already trust, then adds the interface, scheduling, notifications, and restore workflows that make backups easier to run as a team.
Want to operate AI agents with the same discipline you apply to production services? Akmatori helps SRE teams run autonomous agents with clear workflows, controlled execution, and infrastructure-aware automation. Akmatori is built by Gcore, the global edge AI, cloud, network, and security provider.
