Irgendwann letztes Jahr kam ich auf die Idee mir ein wenig Python beizubringen. Dazu schwebte mir ein User-Interface für Restic vor. Meine Wahl für das Webinterface fiel auf PyQt5.

Also ging ich an die Arbeit, ohne Vorkenntnisse und habe meine ersten Versuche gemacht. Am Anfang mit dem Qt-Designer. Das war aber für mich ungeeignet, da mir die grundlegenden Vorkenntnisse fehlten. Dann halt von der Picke auf und Zeile für Zeile erarbeiten. Hinterher hat sich für mich raus gestellt, das ich die Zusammenhänge so viel besser verstanden habe.

Die Wahl auf Restic fiel, weil ich Restic für sämtliche Datensicherungen einsetze. Da die Daten verschlüsselt sind ist es auch egal wenn sie z.B. auf meiner Nextcloud Instanz liegen. Außerdem kenne ich Restic mittlerweile sehr gut, so das mir von dieser Seite aus relativ wenig Probleme Schwierigkeiten bereiten sollten.

Hier ein paar Eindrücke vom Projekt.

Startfenster

Wir legen ein neues Backup an

Eingabe für neues Backup

Wir initialisieren das Backup

Ausgabe Init

Ausgabe von einem Backup / Snapshot

Snapshots anzeigen

Ausgabe Snapshots

Ich denke, das Grundkonzept sollte erkennbar sein. Es gibt noch mehr  Funktionen

  • Edit Backup
  • Delete Backup

Als Restic Funktionen

  • Mount
  • UMount
  • Restore
  • Check
  • Prune

Als Tools

  • Restic Version
  • Settings

Jemand meinte zu mir "Software ist nie fertig...:", mittlerweile weiß ich was damit gemeint ist. Ich bin jetzt an einem Stand, wo die Funktionen alle funktionieren. Ich keine groben Fehler mehr finde, ich aber mit dem Konzept nicht mehr so richtig zufrieden bin. Anders ausgedrückt, ich würde mit dem Wissen von heute, vieles anders machen.

Ich denke ein guter Grund für einen Reset und das Projekt neu zu denken :)