72 lines
2.7 KiB
Markdown
72 lines
2.7 KiB
Markdown
# resticview
|
|
|
|
A TUI browser for restic backup repositories. Browse snapshots, explore the file tree of any snapshot, and restore whole snapshots or single paths on demand.
|
|
|
|
## Installation
|
|
|
|
### macOS (Homebrew)
|
|
|
|
```bash
|
|
brew tap janvete/tools
|
|
brew install resticview
|
|
```
|
|
|
|
### Debian / Ubuntu (.deb)
|
|
|
|
Download the latest `.deb` from [GitHub Releases](https://github.com/janvete/resticview/releases) and install it:
|
|
|
|
```bash
|
|
sudo apt install ./resticview_*.deb
|
|
# or
|
|
sudo dpkg -i resticview_*.deb
|
|
```
|
|
|
|
### Prebuilt binaries
|
|
|
|
Each [release](https://github.com/janvete/resticview/releases) also ships standalone binaries: `resticview-macos` (Apple Silicon) and `resticview-linux` (x86_64). Put the file on your `PATH` and make it executable:
|
|
|
|
```bash
|
|
chmod +x resticview-linux
|
|
sudo mv resticview-linux /usr/local/bin/resticview
|
|
```
|
|
|
|
### From source
|
|
|
|
```bash
|
|
cargo install --git https://github.com/janvete/resticview
|
|
```
|
|
|
|
`restic` must be installed and on `PATH`.
|
|
|
|
## Usage
|
|
|
|
resticview reads restic credentials (`RESTIC_REPOSITORY`, `RESTIC_PASSWORD`, …) from env files stored in `~/.restic`. It picks up every hidden file (name starting with `.`, e.g. `.env`, `.hetzner`) directly in that directory as well as inside hidden subdirectories, one level deep (e.g. `~/.restic/.work/.env`). If several env files are found, a picker is shown; with exactly one it is loaded directly.
|
|
|
|
```bash
|
|
resticview # use env files from ~/.restic
|
|
resticview --env-dir DIR # use a different env directory
|
|
resticview --select # always show the env file picker
|
|
```
|
|
|
|
The main view has three panels: snapshots (left), the file tree of the selected snapshot (middle), and repository / snapshot info (right). The right panel shows the repository name, env file, total snapshot count, and details of the selected snapshot (time, host, user, paths, tags). The focused panel has a highlighted border.
|
|
|
|
Restore (`r`) asks for a target directory (pre-filled with `~/restic-restore-<id>`), asks for confirmation, and then runs `restic restore` in the background. With the focus on the snapshot list the whole snapshot is restored; with the focus on the file tree only the selected path is restored (`--include`).
|
|
|
|
## Controls
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| `q` / `Ctrl-C` | quit |
|
|
| `Tab` / `Shift-Tab` | cycle focus between panels |
|
|
| `j` / `k` or `↓` / `↑` | move selection / scroll |
|
|
| mouse wheel | scroll the focused panel |
|
|
| `Enter` | expand/collapse directory (Files panel) |
|
|
| `h` / `l` or `←` / `→` | collapse / expand directory |
|
|
| `g` / `G` | jump to top / bottom |
|
|
| `r` | restore selected snapshot or path |
|
|
| `R` | refresh snapshots |
|
|
| `Esc` | close prompt / dialog, clear status |
|
|
|
|
## License
|
|
|
|
MIT
|