Backrest

Web UI and orchestrator for restic backups with snapshot browsing and restore

Repository activity
  • Stars6.7k
  • Forks177
  • Open Issues322
License

GPL-3.0

Languages
  • Go
  • TypeScript
  • Shell
Backrest screenshot

About Backrest

Backrest is a web UI and orchestrator for restic. It wraps the restic CLI behind a WebUI for creating repositories, browsing snapshots, and restoring files, and it can import and manage existing restic repos. restic does the actual backup work; Backrest is the interface and scheduler on top of it. The WebUI is reachable locally or remotely, which suits NAS deployments.

It runs in the background to schedule snapshots and repository maintenance such as prune, check, and forget. It works with rclone remotes and supports all restic storage backends: S3, B2, Azure, GCS, local, SFTP, and any rclone remote. Pre-backup and post-backup shell hooks run commands around each job, and notifications can be sent through Discord, Slack, Shoutrrr, Gotify, and Healthchecks.

Backrest is written in Go and ships as a standalone binary with restic as its only dependency, downloaded automatically on first run. It runs on Linux, macOS, Windows, FreeBSD, and Docker.

Key features

  • WebUI for creating repos, browsing snapshots, and restoring files
  • Cron-scheduled backups and maintenance tasks like prune, check, and forget
  • Import existing restic repositories
  • Pre-backup and post-backup shell hooks
  • Notifications via Discord, Slack, Shoutrrr, Gotify, and Healthchecks

Details

First released
2023
Platforms
Windows · macOS · Linux · Docker
Storage
S3 · B2 · Azure · GCS · local · SFTP
Backup engine
restic
Interface
WebUI
Port
localhost:9898