mirror of
https://github.com/garethgeorge/backrest.git
synced 2026-05-30 00:10:54 +00:00
chore: update README.md
This commit is contained in:
@@ -1,46 +1,38 @@
|
||||
# ResticUI
|
||||
|
||||
WIP project to build a UI for restic.
|
||||
ResticUI is a WebUI wrapper for [restic](https://restic.net/). It is intended to be used as a self-hosted application for managing backups of your data.
|
||||
|
||||
Project goals
|
||||
The goals of the project are:
|
||||
|
||||
* Single binary for easy and _very lightweight_ deployment with or without containerization.
|
||||
* WebUI supporting
|
||||
* Backup plan creation and configuration
|
||||
* Backup status
|
||||
* Snapshot browsing and restore
|
||||
* Single binary deployment: the UI and backend are bundled into a single binary that can be deployed with no dependencies (other than restic!).
|
||||
* Light weight: the binary weighs in at ~25 MB as of writing and the goal is to keep it in this territory.
|
||||
* Easy to pull back the curtain: the UI is intended to be a wrapper around restic, but does not preclude using restic commands directly. It's easy to list snapshots directly using restic as a CLI to understand what's being stored.
|
||||
* Performant
|
||||
* Low background memory use
|
||||
* Snapy UI performant leveraging [bbolt](https://github.com/etcd-io/bbolt) as a state store and cache.
|
||||
|
||||
# High Level Goals
|
||||
Feature Support
|
||||
|
||||
* Restic repository configuration and initialization
|
||||
* Multiple backup plans with independent file sets, schedules, etc can be configured and store data to a single repository definition.
|
||||
* Backup status info at a glance
|
||||
* Shows health of last backup operation attempted for a given repository.
|
||||
* Shows health of last backup operation attempted for a given plan.
|
||||
* Support for browsing snapshots belonging to a given repository.
|
||||
* Support for browsing snapshots belonging to a given plan.
|
||||
* [x] Configure multiple restic repositories
|
||||
* [x] Configure multiple backup plans for each repository
|
||||
* [x] Execute scheduled backup operations e.g. on a cron schedule
|
||||
* [x] Execute manually triggered backup operations
|
||||
* [x] Browse backup operation history
|
||||
* [x] Browse snapshot history
|
||||
* [x] Browse files in a snapshot
|
||||
* [ ] Restore files from a snapshot (use restic UI to identify a snapshot to restore, use restic cli to restore it today)
|
||||
* [ ] Prune snapshots after backup operations (recommend periodically running `restic prune` on the CLI until this feature is supported)
|
||||
|
||||
# Roadmap
|
||||
## Screenshots
|
||||
|
||||
- [x] Restic repository configuration and initialization
|
||||
- [x] Backup plan configuration
|
||||
- [ ] Health checks in backend/GUI
|
||||
- [ ] Backend state store
|
||||
- [ ] Health status view for repos
|
||||
- [ ] Health status view for plans
|
||||
- [ ] Backup operation
|
||||
- [X] Backend implementatio
|
||||
- [ ] Backup command in UI
|
||||
- [ ] Snapshot browser
|
||||
- [X] Backend snapshot listing
|
||||
- [ ] Snapshot browser GUI on repo view
|
||||
- [ ] Snapshot browser GUI on backup plan view
|
||||
- [ ] Operation history
|
||||
- [ ] Backend operation tracking in state store e.g. log of backup operations, cleanup operations, etc.
|
||||
- [ ] Scheduler log stored on plan?
|
||||
- [ ] Operation result log stored on repo?
|
||||
- [ ] Operation history GUI on repo view.
|
||||
- [ ] Operation history GUI on plan view.
|
||||
Configuring a backup plan:
|
||||

|
||||
|
||||
Running backup operation:
|
||||

|
||||
|
||||
Browsing snapshots:
|
||||

|
||||
|
||||
# Dependencies
|
||||
|
||||
@@ -56,3 +48,9 @@ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
|
||||
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
|
||||
go install github.com/bufbuild/buf/cmd/buf@v1.27.2
|
||||
```
|
||||
## Building
|
||||
|
||||
```sh
|
||||
(cd webui && npm run build)
|
||||
(cd cmd/resticui && go build .)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user