Backr Svelte Themes

Backr

Desktop backup app (Tauri + Svelte): rsync hardlink snapshots over SSH

Backr

Desktop app that backs up your projects folder to a remote machine over SSH — rsync snapshots, scheduled or on demand, with a UI for browsing and restoring past snapshots.


Setup (two machines, ~5 minutes)

1. Backup host (NAS / server / spare PC) — run once as root

curl -fsSL https://raw.githubusercontent.com/perfekt1406-hub/Backr/main/scripts/setup-backup-host.sh | sudo bash

Installs OpenSSH + rsync, creates the backr account and /srv/backr, configures sshd, and opens the Backr host-dashboard app automatically. The app shows a step-by-step guide for connecting your first laptop.

Use --no-appimage on headless servers (no desktop session).

2. Laptop — run once from a repo clone

git clone https://github.com/perfekt1406-hub/Backr.git && cd Backr
./scripts/setup-connecting-client.sh

The wizard asks for the backup host's IP/hostname and SSH port, installs all build deps (Node, Rust, Tauri libs), builds the AppImage, adds it to the app menu, and runs ssh-copy-id to trust your key automatically (type the backr password once).

3. Open Backr from the app menu and finish the in-app setup wizard.


Development

Install deps only (no build):

./scripts/setup-connecting-client.sh --deps-only
# or manually:
npm install

Run dev server:

npm run tauri:dev          # full desktop app
npm run tauri:dev:mock     # mocked IPC backend (no SSH/rsync needed)
npm run dev                # browser only

Build:

npm run tauri:build

Bundles land in src-tauri/target/release/bundle/.


How it works

  • Each subdirectory of your configured projects_path is a separate project.
  • Backups use rsync --link-dest so unchanged files are hardlinked — multiple snapshots without duplicating data.
  • The backup host only needs SSH + rsync. The Backr app is optional on the host (for the Trust keys UI).
  • backr becomes pubkey-only automatically once authorized_keys holds at least one key.
  • Config lives at ~/.config/backr/config.toml; SSH known hosts at ~/.config/backr/known_hosts.

Project layout

Path Role
src/ Svelte 5 UI — routes, stores, components.
src-tauri/ Rust — config, scheduler, rsync/SSH, Tauri commands.
scripts/ setup-backup-host.sh and setup-connecting-client.sh.

License

MIT

Top categories

Loading Svelte Themes