Lohup

(loh-up - backup for lohs[1])

Lohup - backups done silly.

Development status

Early alpha. Works on my machines.

Installation

Python 3.14 is required. You can get it using uv.

Also you will need one of backup backends. Restic and Rustic are supported.

apt update && apt install -y restic
# or download rustic binary from https://github.com/rustic-rs/rustic/releases/tag/v0.11.3

# get using uv
uv tool install git+https://github.com/kam1sh/lohup
# or by pip
pip install 

Usage

Example configuration see in corresponding directory

CLI examples:

lohup --config config.toml restic --repo cloud -- init
# if config=lohup.toml then option can be omitted
lohup backup-all
lohup snapshots --repo cloud

Core features

  • Configuration in TOML
  • Restic/Rustic as a backup driver
  • Backup hooks, such as create/remove btrfs filesystem snapshot
  • Environment variables

Features in TODO

  • LVM hooks
  • Better error handling and printing
  • Verbose/debug messages
  • Metrics and OpenTelemetry support
  • Binary releases, win+linux amd64 along with Python wheel
  • Include files in profiles with paths-from

Development

git clone git@github.com:kam1sh/lohup lohup-dev && cd lohup-dev
# install dependencies
uv sync --group dev
# run tests
uv run pytest --tb=short
# building binaries to dist directory
uv run pyinstaller -F lohup-cli.spec

[1] in my native language loh (лох) means "dummy" or "loser". So, yeah, backups are for losers.

S
Description
Backups done dummy
Readme MIT
98 KiB
Languages
Python 100%