resticview/README.md

53 lines
2 KiB
Markdown

# resticview
A TUI browser for restic backup repositories. Browse snapshots, explore the file tree of any snapshot, view repository stats, and restore whole snapshots or single paths on demand.
## Installation
### macOS (Homebrew)
```bash
brew tap janvete/tools
brew install 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 stats (right). 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 and repository stats |
| `Esc` | close prompt / dialog, clear status |
## License
MIT