Back-Man

Qt-based backup manager for Linux, built on restic

  • Python
  • PySide6
  • restic
  • Linux

GUI backup manager for Linux desktops. Wraps restic — deduplicating, encrypted storage — in a Qt interface that exposes jobs, snapshots, retention policies and systemd timer integration without needing a terminal.

Features

  • Job management with path pickers, local/remote repo selection, tags
  • Per-job snapshots panel (time, size, paths) with restore dialog
  • Restore to original location or alternate directory
  • Per-job retention policy (keep_last/daily/weekly/monthly/yearly) with optional automatic prune
  • Scheduler via systemd --user: writes .service and .timer units; modes daily, weekly, custom OnCalendar
  • Headless mode for the timer (back-man --run-job <id>) with meaningful exit codes
  • Repo passwords stored in the system keyring (service name backman), reach restic only via env var
  • Desktop notifications, tray icon, USB watcher

Install

.deb package for Linux Mint / Ubuntu / Debian:

sudo apt install ./back-man_0.1.0_all.deb

The postinst creates a fresh venv with the target system’s Python and installs offline from bundled wheels for Python 3.10–3.13, so the package works regardless of the build host’s Python version.

Stack

Python 3.10+, PySide6, restic, keyring, pydantic, systemd user units, deb packaging via fakeroot + dpkg-deb.