68 lines
1.6 KiB
Markdown
68 lines
1.6 KiB
Markdown
# 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](https://github.com/astral-sh/uv).
|
|
|
|
Also you will need [Rustic](https://github.com/rustic-rs/rustic) as a backup backend. v0.11.4 is fully compatible.
|
|
|
|
```bash
|
|
pacman -S rustic
|
|
# or get the binary binary from https://github.com/rustic-rs/rustic/releases/tag/v0.11.4
|
|
|
|
# and install lohup using uv
|
|
uv tool install git+https://github.com/kam1sh/lohup
|
|
```
|
|
|
|
## Usage
|
|
|
|
Example configuration see in [corresponding directory](examples/complete.toml)
|
|
|
|
CLI examples:
|
|
|
|
```bash
|
|
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
|
|
* Local database for snapshot information
|
|
* Backup hooks, such as create/remove btrfs snapshot before backup
|
|
* 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`
|
|
* Pluggable engines
|
|
|
|
## Development
|
|
|
|
```bash
|
|
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 Russian language loh (лох) means "dummy" or "loser". So, yeah, backups are for losers.
|