norg | ||
.gitignore | ||
LICENSE | ||
nim.cfg | ||
norg.nimble | ||
readme.md |
Norg
A simple, portable, wrapper for the borg backup utility written in Nim
Inspired by Borgmatic
Usage
Norg uses a toml
based config file for configuration. An example configuration would look like this:
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.
# 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.