Self-hosted web app that automates encrypted, scheduled backups of remote and local storage, built on top of Restic.
garethgeorge/backrest
A web UI and background orchestrator for restic backups, for creating repos, scheduling snapshots, and browsing or restoring files.
- Stars
- 7,708
- Forks
- 238
- Open issues
- 388
- Last commit
- last month
What is it?
Backrest is a web-accessible front end for restic, the open-source backup tool. It wraps the restic CLI so you can create repositories, browse snapshots, and restore individual files from a browser. It can also run in the background, scheduling backups and maintenance operations such as prune, check, and forget on a cron-style schedule.
Backrest ships as a single Go binary. It uses restic as its only dependency, either a system-installed copy or one it downloads and keeps updated itself. You can import existing restic repositories, and the direct restic CLI remains available for advanced operations.
Storage can be any restic backend, including S3, B2, Azure, GCS, local disks, and SFTP, as well as rclone remotes. Notifications go to Discord, Slack, Gotify, Healthchecks, and others, and pre- and post-backup shell hooks are supported. It runs on Linux, macOS, Windows, FreeBSD, and Docker.
Key features
- 01Browse snapshots and restore files through a web interface
- 02Cron-scheduled backups plus prune, check, and forget maintenance
- 03Imports existing restic repositories
- 04Works with all restic storage backends and rclone remotes
- 05Sends notifications to Discord, Slack, Gotify, Healthchecks and more
- 06Pre- and post-backup command hooks
Use cases
- Managing restic backups on a home NAS from a browser
- Scheduling off-site encrypted backups to S3 or B2 without writing cron scripts
- Giving non-CLI users a way to restore individual files from snapshots
Quick start
- 1
Add the Homebrew tap (macOS)
brew tap garethgeorge/homebrew-backrest-tap - 2
Install Backrest with Homebrew
brew install backrest - 3
Start the Backrest service
brew services start backrest - 4
Open http://localhost:9898 in a browser and create a username and password
Things to know
- Licensed under GPL-3.0, a copyleft license that may restrict how you can reuse the code.
- The Homebrew route is macOS only, and macOS may require granting Full Disk Access.
- Requires restic, which is downloaded automatically on first run if not already installed.
In collections
Topics
FAQ
- What is backrest?
- A web UI and background orchestrator for restic backups, for creating repos, scheduling snapshots, and browsing or restoring files. Backrest is a web-accessible front end for restic, the open-source backup tool. It wraps the restic CLI so you can create repositories, browse snapshots, and restore individual files from a browser. It can also run in the background, scheduling backups and maintenance operations such as prune, check, and forget on a cron-style schedule.
- Is backrest free to use? What license does it have?
- backrest is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is backrest still maintained?
- Updated within 6 months. The last commit to backrest was on Sep 21, 2026.
- What can I use backrest for?
- Managing restic backups on a home NAS from a browser Scheduling off-site encrypted backups to S3 or B2 without writing cron scripts Giving non-CLI users a way to restore individual files from snapshots
- How do I install backrest?
- Add the Homebrew tap (macOS): brew tap garethgeorge/homebrew-backrest-tap Install Backrest with Homebrew: brew install backrest Start the Backrest service: brew services start backrest Open http://localhost:9898 in a browser and create a username and password
- Where can I get backrest?
- The source code and installation instructions are on GitHub: https://github.com/garethgeorge/backrest
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Free, self-hosted PostgreSQL backup tool with Point-in-Time Recovery, automated restore verification, and a web UI.
Fast, efficient and encrypted backup program that deduplicates data and stores snapshots in local, SFTP, S3, Azure, GCS and other backends.
Self-hosted web archiver that saves URLs, bookmarks and feeds as HTML, PDF, screenshots, WARC, media and more in plain, durable formats.
A self-hosted web UI for managing Nginx sites, certificates, configs, logs and server stats, written in Go and Vue.
A modern, self-hosted web UI for managing Docker containers, images, and Compose stacks.