Git Product home page Git Product logo

restatic's Introduction

Build Status

Restatic - A Boring Open Source GUI for Restic

⚠️ ⚠️ This is still under heavy developement and currently unusable !!! It's a fork of Vorta. ⚠️ ⚠️

Restatic is an open source Linux / Windows GUI for Restic. It's currently in very early alpha status.

Main features

  • Encrypted, deduplicated and compressed backups.
  • Works with any local or remote Restic repo.
  • Add SSH keys and initialize repos directly from the GUI.
  • Repo keys are securely stored in KWallet.
  • Mount existing archives via FUSE.
  • Manage multiple backup profiles with different source folders, destinations and settings.
  • Prune and check backups periodically.
  • Flexible scheduling for automatic background backups.
  • View a list of archives and action logs.
  • Exclude options/patterns.

Installation and Download

Restatic should work on all platforms that support Qt and Restic.

Linux / Windows

First install Restic and its dependencies.

Please make shure that the restic binary has been added to your path.

Then install Restatic from Pypi:

$ git clone https://github.com/Mebus/restatic
$ cd restatic
$ pip install .

After installation run it with the restatic command.

$ restatic

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/Restatic/log
  • macOS: $HOME/Library/Logs/Restatic

Development

Install the environment in development/editable mode while in the repo:

mkdir venv
virtualenv-3 venv
source venv/bin/activate
pip install -r requirements-dev.txt
pip install -e .

Then run as Python script:

$ python src/restatic

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

pip install -r requirements-dev.txt

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

Testing (work in progress)

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

$ pytest --forked
$ pytest --flake8

Authors

License and Credits

  • Licensed under GPLv3. See LICENSE.txt for details.
  • Uses the excellent Restic
  • Based on PyQt and Qt.
  • Icons by FontAwesome

restatic's People

Contributors

m3nu avatar mebus avatar thomaswaldmann avatar davenewham avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.