Go to file
Manuel Riel e5fffd8cf1 Update issue templates 2018-12-16 12:30:56 +08:00
.github/ISSUE_TEMPLATE Update issue templates 2018-12-16 12:30:56 +08:00
bin/macosx64 Package macOS app as DMG. Add Sparkle Framework. 2018-11-21 16:17:27 +08:00
requirements.d Add own macOS Keychain implementation to avoid conflict with autostart. #81 2018-12-06 17:41:22 +08:00
src/vorta Bump version: 0.6.0 → 0.6.1 2018-12-14 16:05:01 +08:00
tests v0.6.1 Release (#86) 2018-12-14 16:03:26 +08:00
.bumpversion.cfg Bump version: 0.6.0 → 0.6.1 2018-12-14 16:05:01 +08:00
.gitignore v0.5.1 (#63) 2018-11-30 08:40:18 +08:00
.travis.yml Fix travis requirements.txt path 2018-12-06 18:53:10 +08:00
LICENSE.txt Finish packaging. 2018-10-27 00:01:59 +08:00
MANIFEST.in Fixes to packaging 2018-11-02 23:46:14 +08:00
Makefile Bump version: 0.6.0 → 0.6.1 2018-12-14 16:05:01 +08:00
README.md v0.6.1 Release (#86) 2018-12-14 16:03:26 +08:00
Vagrantfile Add Vagrantfile 2018-11-13 14:49:42 +08:00
appdmg.json Package macOS app as DMG. Add Sparkle Framework. 2018-11-21 16:17:27 +08:00
setup.cfg Bump version: 0.6.0 → 0.6.1 2018-12-14 16:05:01 +08:00
setup.py Fixes to packaging 2018-11-02 23:46:14 +08:00
vorta.spec Bump version: 0.6.0 → 0.6.1 2018-12-14 16:05:01 +08:00

README.md

Vorta - A Boring Open Source GUI for BorgBackup

Build Status

Vorta is an open source macOS/Linux GUI for BorgBackup. It's currently in beta status.

Main features

  • Encrypted, deduplicated and compressed backups using borg as battle-tested backend.
  • Works with any local or remote Borg repo. Try BorgBase for advanced features like append-only repositories and monitoring.
  • Repo keys are securely stored in macOS Keychain, SecretService or KWallet. Create SSH keys directly from the GUI.
  • Manage multiple backup profiles with different source folders, destinations and settings.
  • Flexible scheduling for automatic background backups. Only allow on certain WiFis.
  • Restore files from mounts or using the built-in backup browser.

Installation and Download

Vorta should work on all platforms that support Qt and Borg. Currently Borg doesn't support Windows, but this may change in the future. Setting allowed Wifi networks is currently not supported on Linux, but everything else should work.

macOS

Install the latest stable version via Homebrew Cask:

$ brew cask install vorta

Or directly download pre-built app bundles for macOS (10.13+) from Releases. For detailed setup steps, see the tutorial.

Linux

First install Borg using the package of your distribution or via PyPI. The latter needs some additional source packages. Then install Vorta from PyPI. Your local Python version should be >= 3.6. Python 2 is not supported.

$ pip3 install vorta

After installation run with the vorta command.

$ vorta

Debugging and Bugs

Please report any errors you may encounter by opening an issue on Github. Please include steps to reproduce and all logging output. Logs can be found in these folders:

  • Linux: $HOME/.cache/Vorta/log
  • macOS: $HOME/Library/Logs/Vorta

Development

Install in development/editable mode while in the repo:

$ pip install -e .

Then run as Python script:

$ vorta

Install developer packages we use (pytest, tox, pyinstaller):

pip install -r requirements.d/dev.txt

Qt Creator is used to edit views. Install from their site or using Homebrew and then open the .ui files in vorta/UI:

$ brew cask install qt-creator
$ brew install qt

To build a macOS app package:

  • add Sparkle.framework from here and borg from here in bin/macosx64
  • then uncomment or change the Apple signing profile to be used in Makefile
  • finally run to $ make Vorta.app to build the app into the dist folder.

Testing (work in progress)

Tests are in the folder /tests. Testing happens at the level of UI components. Calls to borg are mocked and can be replaced with some example json-output. To run tests:

$ pytest

Why the Name?

Vorta are a race referenced in Star Trek. They serve the Dominion and are replaced by their clones if they die. Just like our backups.

Privacy Policy

  • No personal data is ever stored or transmitted by this application.
  • During beta, crash reports are sent to Sentry to quickly find bugs. You can disable this by setting the env variable NO_SENTRY=1. Your repo password will be scrubbed before the test report is transmitted.

Author

(C) 2018 Manuel Riel for BorgBase.com

License and Credits