resticview/README.md

72 lines
2.5 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
```
### 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 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