From 42252c7d39d9f986b270440b74549bea9a848443 Mon Sep 17 00:00:00 2001 From: Paul Wilde Date: Sun, 18 Aug 2024 15:56:03 +0100 Subject: [PATCH] readme update --- readme.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d058030..40e274f 100644 --- a/readme.md +++ b/readme.md @@ -1,2 +1,68 @@ # Norg -A simple wrapper for the borg backup utility written in Nim +A simple, portable, wrapper for the [borg backup utility](https://www.borgbackup.org) written in Nim + +Inspired by [Borgmatic](https://torsion.org/borgmatic) + +## Usage +Norg uses a `toml` based config file for configuration. An example configuration would look like this: +```toml +source_dirs = [ + "/home/me/Music", + "/home/me/Pictures" +] +encryption_password = "MyReallySecurePassword" +[[repositories]] +label = "A Repository" +path = "/my/backup/location" + +[[repositories]] +label = "Another Respository at BorgBase" +path = "ssh://1234abcd@1234abcd.repo.borgbase.com/./repo" + +[uptimekuma] +base_url = "https://uptime.kuma.url/api/push/1234abcd" +states = ["Success","Failure", "Running"] +``` + +You can then run the equivalent `borg` command to init, create, list, mount and extract your backups. + +```sh +# Init your repository +norg -c myconfig.toml init + +# Backup your data +norg -c myconfig.toml create + +# List Archives +norg -c myconfig.toml list + +# Mount an Archive +norg -c myconfig.toml mount pcname-2024-08-18T15:20:17773204 /home/me/mnt +# Unmount an Archive +norg -c myconfig.toml umount /home/me/mnt + +# Extract an Archive +# You must be in an empty folder for this to work +norg -c myconfig.toml extract pcname-2024-08-18T15:20:17773204 + +# Or You must set the destination to an empty folder +norg -c myconfig.toml extract pcname-2024-08-18T15:20:17773204 --destination /tmp/my_extracted_archive +``` + +## Work in Progress +Norg is still very much a work in progress, so there will be bugs. Please raise +and issue, or create a pull request for any issues and resolutions you may have. + +## Why create this when Borgmatic exists? +`Borgmatic` is absolutely fantastic, and I love it dearly. I even implemented +the `Uptime Kuma` hook that is in it. However, I got a little impatient waiting +for the version that included the Uptime Kuma hook to arrive in various distributions +package repositories so ended up building it from source on all computers. This +was a lengthy process, and borgmatic isn't very portable, so I wanted to make something that had to features I needed, in a single portable binary. +Norg was the outcome of this. + +## Contact +For any issues, please raise an issue here. Otherwise, I can be contacted via +the fediverse at [@paul@notnull.space](https://notnull.space/@paul). + +