Skip to content

Vorstellung Restic UI Flask

Restic UI Flask
1 1 333
  • Ich habe ja damals mit PyWebIO ein Restic UI gebaut. Das gibt es auch auf gitlab.com

    Dieses PyWebIO ist schon ein tolles Tool, weil man den Python Code nicht verlässt. Aber, es hat zu viele Einschränkungen, die man dann nicht, oder nur sehr mühsam umgehen kann. Also war ich auf der Suche nach neuen Herausforderungen 🙂

    Zwei Frameworks die ich kannte, waren Django und Flask. Meine Wahl fiel auf Flask. Und nun fand ich mich wieder in Dingen, die ich vor langer Zeit zuletzt benutzt hatte. HTML, CSS und Javascript. Ich musste mich also wieder durch viele Themengebiete wühlen. Dank der Hilfe von ChatGPT, der mir einiges wieder erklären musste, habe ich dann aber mein Tool wieder so hinbekommen, wie ich es gerne haben wollte.

    Ich wollte es heute mal anhand einiger Screenshots vorstellen. Die Funktionalität ist wie beim alten Tool. Habe es aber ein wenig angepasst und viel mehr Funktionen ins Dashboard gepackt. Somit ist von dort aus, fast alles zu erreichen.

    Dashboard

    dashboard.png

    Dashboard mit Hamburger Menü

    hamburger_menue.png

    Add Backup

    add_backup.png

    Add Backup with REST

    add_backup_with_REST.png

    Edit Backup

    edit_backup.png

    About

    about.png

    Allgemeines

    Das Tool ist unter

    https://127.0.0.1:5050/dashboard
    

    mit selbstsignierten Zertifikaten erreichbar.

    Restic UI Flask nutzt als Backend zur Datenspeicherung eine Redis Datenbank. Ja, ist etwas auf mich zugeschnitten, ich habe hier immer eine Redis DB laufen, noch für andere Sachen.

    ToDo

    Den Code sauber machen, da liegt noch zu viel Müll rum. Danch werde ich den, wenn ich alles nochmal auf Fehler geprüft habe, auf Gitlab veröffentlichen. Vielleicht hilft es dem ein oder anderen 😉

    Ich mach mal mit OBS ein Video davon.

  • 0 Stimmen
    2 Beiträge
    584 Aufrufe
    FrankMF
    Ich habe den Sonntag mal genutzt um ein wenig was einzubauen. Einmal habe ich mit datatables.net die Tabelle etwas funktionaler gestaltet. [image: 1736705735786-00a95363-1f41-4bbf-884a-34f21aea81e4-grafik.png] Man kann nun suchen, sortieren und wenn man mehr als 10 Datenpunkte hat, hat die Tabelle auch Pagination. Ein nettes Projekt, macht einiges einfacher Das nächste, ich hatte es im Video ja kurz erwähnt, mir fehlte ja noch die Restore Funktion von Restic. Ok, ist jetzt auch drin. Da die Benutzerverwaltung mittlerweile komplett eingebaut ist, werde ich demnächst meine Test Datenbanken und alles was damit zu tuen hat, aus dem Code entfernen. Brauch ich jetzt nicht mehr. Habe jetzt zwei Benutzer, einen Produktiven und einen zum Testen. Langfristig steht auch noch eine zweite Sprache auf dem Zettel. Aber, dafür muss ich Lust haben, das Thema juckt nicht so richtig
  • NiceGUI

    Linux nicegui linux python
    2
    0 Stimmen
    2 Beiträge
    459 Aufrufe
    FrankMF
    Ich habe mir das jetzt einige Tage gegeben und habe mich dagegen entschieden. Werde weiterhin PyWebIO benutzen. Hauptgrund ist die wesentlich bessere Dokumentation -> https://pywebio.readthedocs.io/en/latest/index.html Da kann ich mir auch mit meinem Python Kenntnisstand die Informationen holen, die ich brauche um es einzusetzen.
  • Restic UI - Stand Januar 2023

    PyWebIO restic-ui pywebio python
    1
    0 Stimmen
    1 Beiträge
    171 Aufrufe
    Niemand hat geantwortet
  • Python - Dict -> JSON und umgekehrt

    Python3 python
    1
    0 Stimmen
    1 Beiträge
    358 Aufrufe
    Niemand hat geantwortet
  • Restic UI - Youtube Video Vorstellung

    Restic UI restic-ui restic
    3
    0 Stimmen
    3 Beiträge
    343 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
  • Restic UI - User documentation

    Restic UI restic-ui python3 pyqt5
    1
    7
    0 Stimmen
    1 Beiträge
    308 Aufrufe
    Niemand hat geantwortet
  • Restic UI - kurzes Video

    Linux restic restic-ui
    1
    0 Stimmen
    1 Beiträge
    211 Aufrufe
    Niemand hat geantwortet
  • Rest-Server

    Verschoben Restic rest-server linux restic
    8
    0 Stimmen
    8 Beiträge
    818 Aufrufe
    FrankMF
    Dann mal eben ausprobiert. Auf meinem Server war die Version 0.9.7 selber, mit go, gebaut. Dann mache ich das auch mit der v0.10.0 so. Aber bevor ich anfange, wird die v0.9.7 gesichert. mv /usr/local/bin/rest-server /usr/local/bin/rest-server_0_9_7 So erspare ich mir im Problemfall das selber bauen. Ok, dann die neue Version bauen. git clone https://github.com/restic/rest-server.git cd rest-server go run build.go Danach befindet sich im Verzeichnis die Binärdatei rest-server Die kopieren wir jetzt cp rest-server /usr/local/bin Danach kurzer Test # rest-server --version rest-server 0.10.0 (v0.10.0-6-g037fe06) compiled with go1.11.6 on linux/amd64 Gut Version passt Dann ein Backup gestartet. Das sichert einen Teil meines Home-Verzeichnis Files: 153 new, 100 changed, 177857 unmodified Dirs: 0 new, 1 changed, 0 unmodified Added to the repo: 81.881 MiB processed 178110 files, 80.571 GiB in 0:28 snapshot 607e0027 saved Applying Policy: keep the last 3 snapshots, 3 monthly snapshots keep 5 snapshots: ID Time Host Tags Reasons Paths --------------------------------------------------------------------------------------- fa97890e 2020-07-25 21:02:05 frank-XXX monthly snapshot /home/frank 5b073bbb 2020-08-30 10:17:27 frank-XXX monthly snapshot /home/frank f7cf37ef 2020-09-06 15:13:03 frank-XXX last snapshot /home/frank 0157462c 2020-09-13 13:32:12 frank-XXX last snapshot /home/frank 607e0027 2020-09-14 08:09:34 frank-XXX last snapshot /home/frank monthly snapshot --------------------------------------------------------------------------------------- 5 snapshots remove 1 snapshots: ID Time Host Tags Paths --------------------------------------------------------------------- 3010b7cc 2020-09-06 11:39:27 frank-XXX /home/frank --------------------------------------------------------------------- 1 snapshots 1 snapshots have been removed, running prune counting files in repo building new index for repo [1:34] 100.00% 17351 / 17351 packs So weit funktioniert das genau wie vorher. Im Changelog stand ja was von Subfoldern. Das betrifft mich nicht, weil ich für jeden User genau ein Verzeichnis habe. So mit alles Gut Dann warte ich mal morgen ab, ob die täglichen Backups der Server rund laufen.