vorta/README.md

95 lines
3.8 KiB
Markdown
Raw Normal View History

2018-11-06 05:13:49 +00:00
# Vorta - A Boring Open Source GUI for BorgBackup
2018-11-20 10:00:51 +00:00
[![Build Status](https://travis-ci.org/borgbase/vorta.svg?branch=master)](https://travis-ci.org/borgbase/vorta)
2018-10-26 11:24:13 +00:00
2018-11-17 11:46:43 +00:00
![](https://files.qmax.us/vorta-screencast-5.gif)
2018-10-27 11:21:14 +00:00
2018-11-06 05:13:49 +00:00
Vorta is an open source macOS/Linux GUI for [BorgBackup](https://borgbackup.readthedocs.io). It's currently in beta status.
2018-10-26 11:24:13 +00:00
2018-11-01 05:11:37 +00:00
## Main features
2018-10-26 11:24:13 +00:00
- Encrypted, deduplicated and compressed backups.
2018-11-17 11:46:43 +00:00
- Works with any local (**NEW!**) or remote Borg repo. Try [BorgBase](https://www.borgbase.com) for advanced features like append-only repositories and monitoring.
- Add SSH keys and initialize repos directly from the GUI.
2018-11-06 05:13:49 +00:00
- Repo keys are securely stored in macOS Keychain, SecretService or KWallet.
- Mount existing snapshots via FUSE.
2018-11-17 11:46:43 +00:00
- Manage multiple backup profiles with different source folders, destinations and settings. (**NEW!**)
- Prune and check backups periodically.
- Flexible scheduling for automatic background backups. Only allow on certain Wifis.
- View a list of snapshots and action logs.
2018-11-01 05:11:37 +00:00
- Exclude options/patterns.
2018-11-06 05:13:49 +00:00
- Error notifications.
2018-11-21 08:26:17 +00:00
- Automatic updates using Sparkle. (**NEW!**)
2018-11-01 05:11:37 +00:00
2018-11-02 06:13:28 +00:00
Coming soon:
2018-10-26 11:24:13 +00:00
2018-11-06 05:13:49 +00:00
- [ ] Full test coverage (currently: ~60%)
2018-11-21 08:26:17 +00:00
- [ ] Packaging for Linux via Snapcraft
2018-10-26 11:24:13 +00:00
2018-11-01 05:11:37 +00:00
## 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.
2018-11-01 05:11:37 +00:00
### macOS
2018-11-06 05:13:49 +00:00
Download the pre-built macOS binary from [Releases](https://github.com/borgbase/vorta/releases). Just download, unzip and run. If you want detailed steps, there is also a [tutorial](https://docs.borgbase.com/macos/how-to-backup-your-mac-using-the-vorta-backup-gui/).
2018-10-27 12:04:55 +00:00
2018-11-01 05:11:37 +00:00
### Linux
2018-11-06 05:13:49 +00:00
First install Borg and its [dependencies](https://borgbackup.readthedocs.io/en/stable/installation.html#dependencies). Then install Vorta from Pypi:
2018-11-01 05:11:37 +00:00
```
$ pip install vorta
```
After installation run with the `vorta` command.
```
$ vorta
```
2018-10-26 11:24:13 +00:00
## Development
Install in development/editable mode while in the repo:
2018-10-26 16:01:59 +00:00
```
$ pip install -e .
2018-10-26 16:01:59 +00:00
```
2018-10-26 11:24:13 +00:00
Then run as Python script:
2018-10-26 16:01:59 +00:00
```
2018-11-01 05:11:37 +00:00
$ vorta
2018-10-26 16:01:59 +00:00
```
Install developer packages we use (pytest, tox, pyinstaller):
```
pip install -r requirements-dev.txt
```
2018-11-01 06:01:44 +00:00
Qt Creator is used to edit views. Install from [their site](https://www.qt.io/download) or using Homebrew and then open the .ui files in `vorta/UI`:
2018-10-31 11:14:12 +00:00
```
2018-11-01 05:11:37 +00:00
$ brew cask install qt-creator
$ brew install qt
2018-10-31 11:14:12 +00:00
```
To build a macOS app package:
- add `Sparkle.framework` from [here](https://github.com/sparkle-project/Sparkle) and `borg` from [here](https://github.com/borgbackup/borg/releases) 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.
2018-10-26 16:01:59 +00:00
### Testing (work in progress)
2018-11-01 05:11:37 +00:00
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:
```
2018-11-20 10:06:18 +00:00
$ pytest
2018-11-01 05:11:37 +00:00
```
2018-11-06 05:13:49 +00:00
## Why the Name?
[Vorta](http://memory-alpha.wikia.com/wiki/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.
2018-11-01 05:11:37 +00:00
## Privacy Policy
- No personal data is ever stored or transmitted by this application.
- During beta, crash reports are sent to [Sentry](https://sentry.io) 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.
2018-10-26 16:01:59 +00:00
## Author
(C) 2018 Manuel Riel for [BorgBase.com](https://www.borgbase.com)
## License and Credits
- Licensed under GPLv3. See LICENSE.txt for details.
- Uses the excellent [BorgBackup](https://www.borgbackup.org)
2018-11-01 06:01:44 +00:00
- Based on [PyQt](https://riverbankcomputing.com/software/pyqt/intro) and [Qt](https://www.qt.io).
2018-10-27 17:40:08 +00:00
- Icons by [FontAwesome](https://fontawesome.com)