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.
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).
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).
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/.
projects_path is a separate project.rsync --link-dest so unchanged files are hardlinked — multiple snapshots without duplicating data.backr becomes pubkey-only automatically once authorized_keys holds at least one key.~/.config/backr/config.toml; SSH known hosts at ~/.config/backr/known_hosts.| 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. |