borg-qt/README.org

4.0 KiB

Borg-Qt

Borg-Qt is a Python 3 based graphical frontend for the backup tool BorgBackup as its name implies it is using the Qt5 Framework. Currently it works only on Linux.

Motivation

I think Borg is a great backup tool which should be available to many move users. Since command line tools can be a bit scary for less experienced users I decided to write a GUI as my "thesis" during my final semester at the IBZ school in Aarau, Switzerland.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

You need to have Borg installed in order to have Borg-Qt working. You can get a binary for your operating system here: https://github.com/borgbackup/borg/releases On a Debian based system you can install it by copying to ~/.local/bin/. Borg needs to be able to get executed by calling the command borg.

cp ~/Downloads/borg-linux64 ~/.local/bin/borg
chmod +x ~/.local/bin/borg

For other systems check their documenation.

Installing

Installing Borg-Qt is very simple. Download the binary for your operating system here: https://github.com/Nebucatnetzer/borg-qt/releases

You can then either run it by double clicking on it or by copying it to ~/.local/bin/ like Borg. If you do that you might want to create a desktop file for it. Puth the following code into a borg-qt.desktop file in ~/.local/share/applications/.

#+example [Desktop Entry] Version=1.0 Name=Borg-Qt Exec=/home/username/.local/bin/borg-qt Terminal=false Type=Application Categories=Tools MimeType=x-scheme-handler/tg; #+example

Make sure the file is executable:

chmod +x ~/.local/share/applications/borg-qt.desktop

Now you should find Borg-Qt in your desktops start menu.

Development

To start working on Borg-Qt first clone the git repository and install BorgBackup as described in /Nebucatnetzer/borg-qt/src/commit/4a1f97a0966b71cd23b41b42bc9af9937fc8d15b/Prerequisites.

git clone https://github.com/borg-qt/borg-qt.git

Now create a virtual environment.

cd borg-qt
python3 -m venv venv

And activate it.

source venv/bin/activate

Finally you can install the depencies.

pip3 install -r requirements.txt

You're now all set to work on Borg-Qt. It's a good idea to run the tests before starting. You can do this with the following command from the root of the repository.

make test

To make testing the application while programming a bit easier there's a script which reloads the application everytime a file changes in the borg_qt directory. You to use it run the following command from the root of the repository.

./scripts/debugging.sh

Used packages

Contributing

Since I'm currently working on this as part of my thesis I won't be able to accept any pull requests. After the 18th or March 2019 everybody is more than invited to contribute.

Versioning

Currently there is no versioning as such. In the future a versioning scheme based on semantic Versioning might get used. However the master branch is considered to be the stable branch. Other branches might be highly experimental.

Authors

License

This project is licensed under the GPLv3 License - see the /Nebucatnetzer/borg-qt/src/commit/4a1f97a0966b71cd23b41b42bc9af9937fc8d15b/LICENSE file for details.

Acknowledgments