Skip to content

Restic UI - Documentation

Restic UI
  • About

    My second Python3 PyQT5 project

    The project is a UI for the Linux tool restic

    Restic_UI_main_screen.png

    This project is quite far from perfect, but it helped me a lot to understand the world of Python3, VSCodium and gitlab a little bit.

    If it helps someone along the way as well, I'm glad. For questions and suggestions you can write me in my forum

    And now have fun with one of the best backup tools!

    Dependencies

    • restic
    • python3
    • python3-venv
    • pyqt5
    • requests

    Functions Restic-UI

    Restic functions that are included in the UI

    • init
    • backup
    • mount
    • restore
    • snapshots
    • ls
    • check
    • unlock
    • stats
    • prune
    • version

    Installation

    Install restic if not installed

    apt install restic
    restic self-update
    

    Clone Repository

    git clone https://gitlab.com/Bullet64/restic-ui-public.git
    

    Create env

    cd /home/USER/restic-ui-public
    python3 -m venv venv
    source venv/bin/activate
    

    Install dependencies

    pip install PyQt5
    pip install requests
    

    Usage

    python3 restic_ui.py
    

    Known problems

    I am not really satisfied with the programming of the Add Backup, Edit Backup and Settings windows yet. I still have to optimize that.

    The password of a backup is currently stored in plain text! The password field is optional!

    Release is planned for the coming weekend

  • 0 Stimmen
    7 Beiträge
    148 Aufrufe
    FrankMF

    Link Preview Image Merge branch 'master' into 'main' (45c83cd8) · Commits · Frank / restic_ui_pywebio · GitLab

    Fix some bugs See merge request Bullet64/restic_ui_pywebio!71

    favicon

    GitLab (gitlab.com)

  • Restic UI - Repo Version

    Restic UI
    1
    0 Stimmen
    1 Beiträge
    80 Aufrufe
    Niemand hat geantwortet
  • Python3 - pyqtSignal

    Python3
    1
    0 Stimmen
    1 Beiträge
    66 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    3 Beiträge
    165 Aufrufe
    FrankMF

    Hallo @berthold, du bist mein einziger Star 🙂 Ok, darum geht es mir ja nicht, wie Du weißt mache ich das hauptsächlich für mich und meine Backups klappen damit sehr gut. Ist also produktiv einsetzbar.

    Wie Du gemerkt hast, gibt es Zeiten da mache ich ganz viel und dann wieder Zeiten da passiert nix. Das ist bei mir normal, ich muss da "Bock" drauf haben. Habe ich viel Stress auf der Arbeit, passiert Abends eher sehr wenig..

    Ich hoffe das ich mittlerweile alle Fehler gefunden habe, die Grundfunktionen sind alle funktional. Mittlerweile kann man die JSON Datei mit den Daten der Backups auf Wunsch auch verschlüsseln 🙂

    Ich habe noch eine ganze Reihe an Notizen, was ich gerne noch machen möchte. Wichtig ist mir aber im Moment, das ich alle Fehler finde und das so wie es jetzt ist, einwandfrei läuft.

    Darum, wenn es jemand nutzt, bitte gebt Feedback. Egal ob positiv oder negativ. Ich freue mich persönlich natürlich mehr über positives Feedback 🙂

  • PyQt6 - QRegularExpressionValidator

    Python3
    1
    0 Stimmen
    1 Beiträge
    357 Aufrufe
    Niemand hat geantwortet
  • Restic UI - auf PyQt6 umbauen

    Restic UI
    5
    0 Stimmen
    5 Beiträge
    184 Aufrufe
    FrankMF

    Ich hatte im Python Forum mal um Hilfe gebeten und man hat mir einen Hinweis gegeben, dem ich hier mal nachgehe.

    Der Forenuser meinte, das es ihn wundern würde, wenn ich von QtCore importieren müsste, also

    self.addDockWidget(QtCore.Qt.DockWidgetArea.RightDockWidgetArea, self.items)

    Das habe ich mal ausprobiert. Wenn ich von QtCore Qt importiere, kann ich das QtCore weglassen.

    from PyQt6.QtCore import QSettings, Qt

    dann geht auch

    self.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.items)

    Es sieht so aus, das ich mich in dieses Thema noch ein wenig einarbeiten muss 🙂

  • 0 Stimmen
    2 Beiträge
    207 Aufrufe
    FrankMF

    Der Autor hat meine Anpassungen um ein paar Änderungen erweitert und in sein Repo eingepflegt. Der QtWaitingSpinenr ist jetzt auch 3.10 kompatibel 🤓

    1b268980-92ca-42a4-89a0-a6e4b7ab9378-grafik.png

  • Python3 - class BackupList

    Python3
    2
    0 Stimmen
    2 Beiträge
    223 Aufrufe
    FrankMF

    Mir hat heute jemand auf Twitter zu meinem Problem geantwortet.

    Das habe ich natürlich direkt, bei einer Tasse Kaffee, ausprobiert. Geht einwandfrei und ein Problem ist damit Vergangenheit. Bei meiner Konstruktion musste ich immer eine Länge für die Liste p vorgeben.

    p = list(range(10))

    Das wird jetzt nicht mehr benötigt. Schön 🙂

    Jetzt muss ich mir das noch in Ruhe anschauen, nachlesen und verstehen.

    Danke für den netten Hinweis!