An implementation of Vorta in Golang to improve deployment and packaging.
Functional, but still missing some features. Use the Python version if you need something that works.
Borg Commands:
-
init
-
create
-
info
-
check
-
extract
-
mount
-
delete
-
diff
-
list-archive
-
list-repo
-
prune
-
umount
and mount status -
version
Backend Functionality
- Keychain/SecretService
- Background scheduler
- Single App
- Read and parse existing SSH keys
- Create new SSH key
- Check Borg version for available features
- Tests
- Read list of WiFis
- Check Wifi before scheduled backup
-
Password fallback to database - Translations
- Notifications from scheduler
- Settings an related functionality (icon color, etc)
- Sparkle updates for macOS
Packaging (via Docker)
- macOS
- Ubuntu 19.04
- Debian 10
- Fedora 30
- Archlinux
- Windows?
Other issues:
- Exclusions
- Cancel button
- Backup status (icon, menu)
- Bug: exclusions are lost
- Follow the official steps to set up a Go project in Module Mode. E.g. for macOS
export GO111MODULE=on
go install -v -tags=no_env github.com/therecipe/qt/cmd/...
go mod vendor
git clone https://github.com/therecipe/env_darwin_amd64_513.git vendor/github.com/therecipe/env_darwin_amd64_513
- Test app using
$ qtdeploy -debug -uic=false -quickcompiler test
- Package for deployment
$ qtdeploy -uic=false -quickcompiler build
ormake darwin
Important folders:
/ui
has.ui
files provided by Qt Designer/qml
has icons and other assets
See the Makefile
for different deployment options. Needs Docker installed. E.g.
$ make darwin
$ make linux DISTRO=archlinux
For Linux, Qt5 is linked dynamically to match your distro's look and feel. Install required Qt5 packages like this:
- Ubuntu/Debian:
$ apt install qt5-default libqt5qml5
- Archlinux:
$ pacman -S qt5
- Fedora:
$ yum install qt5-qtbase
- extract strings:
lupdate -extensions ui ui/*.ui -ts qml/i18n/ui_en.ts
- merge .ts files:
lconvert -i primary.ts secondary.ts -o complete.ts
- compile .ts to .qm:
lrelease qml/i18n/ui_de.ts -qm qml/i18n/ui_de.qm
- Thank you to all the people who already contributed to Vorta: code, translations
- Licensed under GPLv3. See LICENSE.txt for details.
- Icons by FontAwesome