Skip to content

Restic UI - Webinterface for backup tool restic [MongoDB]

Verschoben Restic UI (MongoDB)
2 1 512
  • Ich hatte ja im Jahr 2024 Euch mein Tool vorgestellt.

    Re: Vorstellung Restic UI Flask

    Seitdem hat sich eine Menge getan. Die Welt bleibt ja auch nicht stehen, so muss man halt auch Entscheidungen treffen. Eine dieser Entscheidungen betraf das Backend, Redis ist raus geflogen und nun nutze ich MongoDB. Auch nicht mein absoluter Traum von Open Source, aber man kann halt nicht alles haben. Es sollte schon eine NoSQL Datenbank sein.

    Außerdem hat MongoDB ein schönes UI für den Desktop, hört auf den Namen MongoDB Compass. Sehr gut zum Programmieren geeignet, da ich ja doch ständig irgendwo was ändere 🙂

    So sieht das UI zu Weihnachten 2024 aus.

    7d384c16-8358-4348-b907-bb9278052d7d-grafik.png

    Was gibt es Neues?

    Als Erstes habe ich eine kleine Übersicht eingeführt. Diese ist jetzt um zwei Elemente erweitert.

    • S3
    • Last Update

    Und die Felder Source und Repository haben die Positionen getauscht. ( Logik, Quelle -> Ziel gefiel mir besser) Außerdem ist Repository jetzt so aufgebaut, das es auch für REST und S3 Backups den Zielpfad anzeigt.

    Und dann sind wir schon bei der wichtigsten Neuerung, den S3 Backups. Da Hetzner, das jetzt endlich für alle verfügbar gemacht hat, habe ich das natürlich direkt ausprobiert. Aber womit fülle ich das? Meine ersten Test hatte ich auf der Konsole gemacht, da fiel mir doch ein, das Restic das nativ unterstützt 🙂

    Somit musste ich das nur in mein kleines Tool einfügen. Ein paar Tage später funktionierte das dann so wie es sollte und ich konnte mein erstes Backup erfolgreich anlegen. Juhu.

    Damit hat das Tool jetzt drei Backup Möglichkeiten

    • Lokales Backup
    • REST Backup (REST Server von Restic)
    • S3

    Außerdem hatte ich , als ersten Versuch, ein Login / Logout hinzugefügt. Man muss sich also erst einloggen, bevor man auf die Daten der Backups zugreifen kann. Das funktioniert, ist aber noch nicht final. z.B. fehlt noch das erste Anlegen eines Nutzers komplett.

    Add Backup

    Viel Arbeit habe ich hier reingesteckt.

    23370c88-df37-4b5e-97ff-a836c1d92f42-grafik.png

    Man bekommt auch nur die Felder angezeigt, die zu dem entsprechenden Backup auch Sinn machen.

    Edit Backup

    Ebenso beim Editieren eines Backups.

    66071882-6713-402c-b57b-95df6f01418b-grafik.png

    Login / Logout

    79cbc903-e18a-413d-8384-23310f311651-grafik.png

    Hier kann man den User und das Passwort ändern. Das gefällt mir aber noch nicht, habe ich da eigentlich nur schnell rein gecodet zum Testen. Mal sehen, man muss ja auch 2025 noch Aufgaben haben 😉

    ca93d891-40a4-4147-aa14-4964e473d8da-grafik.png

    S3 Praktisches Beispiel

    Init

    Das angelegte S3 Test Projekt muss initialisiert werden. Im Menü kann auch nur diese Funktion ausgewählt werden. In der Übersicht kann man auch erkennen, das Init nicht gesetzt ist.

    63a89be4-127c-4e9e-9ce0-2de59e9966e8-grafik.png

    Wenn ich nun auf Init klicke, taucht nach kurzer Zeit folgendes Fenster auf. Es enthält die Original Ausgabe des Restic Tools.

    15e0e755-2ff8-4e38-8584-80365bcfd5ea-grafik.png

    Backup

    Nach dem Klick auf Backup und kurzer oder längerer Wartezeit, erscheint folgendes Fenster.

    9c06976e-4887-4a5d-b33d-d1484884fe00-grafik.png

    Alle anderen Funktionen arbeiten auf ähnliche Art und Weise. Ich will ja heir nicht langweilen.

    Zum Schluss noch, wie es auf Hetzner aussieht.

    Hetzner

    Den Inhalt des Ordners kann man sich bei Hetzner ansehen.

    6cbf7a9a-b703-4e58-b86a-802014fc8df7-grafik.png

    Und das Tolle an Restic ist, alle Daten sind AES256 verschlüsselt. Ein ordentliches Passwort vorausgesetzt, sollte verhindern, das andere Menschen die versehentlich in den Besitz der Dateien kommen irgendwas damit anfangen können 🙂

    So sieht das dann in der Praxis aus.

    2c85a3ab-6ed1-44df-97a0-3df9334a0f93-grafik.png

    Video

    Ausblick

    Aktuell ist das gitlab Repository auf Privat gestellt. Ob sich das ändert, weiß ich aktuell noch nicht. Bin immer noch an meiner Code Qualität am Arbeiten usw.

    Sollte aber jemand echtes Interesse an dem Projekt haben, werden wir dafür auch eine Lösung finden.

    Da ich das Projekt auch produktiv nutze, werde ich jetzt wohl alles auf S3 verlagern.

  • FrankMF FrankM verschob dieses Thema von Restic UI am
  • Ich habe den Sonntag mal genutzt um ein wenig was einzubauen. Einmal habe ich mit datatables.net die Tabelle etwas funktionaler gestaltet.

    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 😉

  • 0 Stimmen
    1 Beiträge
    23 Aufrufe
    Niemand hat geantwortet
  • MSI B650 Tomahawk WiFi Teil 2

    Allgemeine Diskussionen msi linux
    1
    0 Stimmen
    1 Beiträge
    282 Aufrufe
    Niemand hat geantwortet
  • Linux security update [DSA 5658-1]

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    275 Aufrufe
    Niemand hat geantwortet
  • Redis ConnectionPool

    Redis redis linux ki-generiert
    2
    0 Stimmen
    2 Beiträge
    320 Aufrufe
    FrankMF
    Die Antwort von ChatGPT wie der Redis ConnectionPool funktioniert. Ein paar Dinge finde ich komisch. https://chat.openai.com/share/b10fdadc-2c9b-404a-bc99-c883d110d6af
  • EndeavourOS - ein Test

    Linux endeavouros linux
    12
    0 Stimmen
    12 Beiträge
    605 Aufrufe
    FrankMF
    Ich möchte aus Fairness Gründen hier festhalten, das die Probleme mit dem Standby in Endeavour vermutlich kein Problem der Distrubution sind. Bitte dazu folgenden Beitrag von mir lesen. https://linux-nerds.org/topic/1397/debian-bookworm-12-test/3
  • ZFS - Wichtige Befehle

    Linux zfs linux
    3
    0 Stimmen
    3 Beiträge
    963 Aufrufe
    FrankMF
    Heute mal drüber gestolpert, das es auch so was geben kann. root@pve2:~# zpool status pool: pool_NAS state: ONLINE status: Some supported and requested features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: scrub repaired 0B in 00:20:50 with 0 errors on Sun Apr 13 00:44:51 2025 config: NAME STATE READ WRITE CKSUM pool_NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520800733 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520801376 ONLINE 0 0 0 errors: No known data errors Was machen? Als erstes mal ein Backup angestoßen. Danach root@pve2:~# zpool get all pool_NAS | grep feature pool_NAS feature@async_destroy enabled local pool_NAS feature@empty_bpobj active local pool_NAS feature@lz4_compress active local pool_NAS feature@multi_vdev_crash_dump enabled local pool_NAS feature@spacemap_histogram active local pool_NAS feature@enabled_txg active local pool_NAS feature@hole_birth active local pool_NAS feature@extensible_dataset active local pool_NAS feature@embedded_data active local pool_NAS feature@bookmarks enabled local pool_NAS feature@filesystem_limits enabled local pool_NAS feature@large_blocks enabled local pool_NAS feature@large_dnode enabled local pool_NAS feature@sha512 enabled local pool_NAS feature@skein enabled local pool_NAS feature@edonr enabled local pool_NAS feature@userobj_accounting active local pool_NAS feature@encryption enabled local pool_NAS feature@project_quota active local pool_NAS feature@device_removal enabled local pool_NAS feature@obsolete_counts enabled local pool_NAS feature@zpool_checkpoint enabled local pool_NAS feature@spacemap_v2 active local pool_NAS feature@allocation_classes enabled local pool_NAS feature@resilver_defer enabled local pool_NAS feature@bookmark_v2 enabled local pool_NAS feature@redaction_bookmarks enabled local pool_NAS feature@redacted_datasets enabled local pool_NAS feature@bookmark_written enabled local pool_NAS feature@log_spacemap active local pool_NAS feature@livelist enabled local pool_NAS feature@device_rebuild enabled local pool_NAS feature@zstd_compress enabled local pool_NAS feature@draid enabled local pool_NAS feature@zilsaxattr disabled local pool_NAS feature@head_errlog disabled local pool_NAS feature@blake3 disabled local pool_NAS feature@block_cloning disabled local pool_NAS feature@vdev_zaps_v2 disabled local Das kommt von neuen Funktionen, die zu ZFS hinzugefügt wurden und bei Erstellung des Pools nicht vorhanden waren. Dann upgraden wir mal root@pve2:~# zpool upgrade pool_NAS This system supports ZFS pool feature flags. Enabled the following features on 'pool_NAS': zilsaxattr head_errlog blake3 block_cloning vdev_zaps_v2 Kontrolle root@pve2:~# zpool status pool: pool_NAS state: ONLINE scan: scrub repaired 0B in 00:20:50 with 0 errors on Sun Apr 13 00:44:51 2025 config: NAME STATE READ WRITE CKSUM pool_NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520800733 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520801376 ONLINE 0 0 0 errors: No known data errors Features kontrollieren root@pve2:~# zpool get all pool_NAS | grep feature pool_NAS feature@async_destroy enabled local pool_NAS feature@empty_bpobj active local pool_NAS feature@lz4_compress active local pool_NAS feature@multi_vdev_crash_dump enabled local pool_NAS feature@spacemap_histogram active local pool_NAS feature@enabled_txg active local pool_NAS feature@hole_birth active local pool_NAS feature@extensible_dataset active local pool_NAS feature@embedded_data active local pool_NAS feature@bookmarks enabled local pool_NAS feature@filesystem_limits enabled local pool_NAS feature@large_blocks enabled local pool_NAS feature@large_dnode enabled local pool_NAS feature@sha512 enabled local pool_NAS feature@skein enabled local pool_NAS feature@edonr enabled local pool_NAS feature@userobj_accounting active local pool_NAS feature@encryption enabled local pool_NAS feature@project_quota active local pool_NAS feature@device_removal enabled local pool_NAS feature@obsolete_counts enabled local pool_NAS feature@zpool_checkpoint enabled local pool_NAS feature@spacemap_v2 active local pool_NAS feature@allocation_classes enabled local pool_NAS feature@resilver_defer enabled local pool_NAS feature@bookmark_v2 enabled local pool_NAS feature@redaction_bookmarks enabled local pool_NAS feature@redacted_datasets enabled local pool_NAS feature@bookmark_written enabled local pool_NAS feature@log_spacemap active local pool_NAS feature@livelist enabled local pool_NAS feature@device_rebuild enabled local pool_NAS feature@zstd_compress enabled local pool_NAS feature@draid enabled local pool_NAS feature@zilsaxattr enabled local pool_NAS feature@head_errlog active local pool_NAS feature@blake3 enabled local pool_NAS feature@block_cloning enabled local pool_NAS feature@vdev_zaps_v2 enabled local So, alle neuen Features aktiviert. Jetzt kann der Pool weiterhin seine Arbeit machen.
  • Python3 - Popen und seine Geheimnisse ;)

    Python3 restic restic-ui python3
    1
    0 Stimmen
    1 Beiträge
    224 Aufrufe
    Niemand hat geantwortet
  • Upgrade auf NodeBB 1.11.0

    NodeBB nodebb linux
    1
    1
    0 Stimmen
    1 Beiträge
    411 Aufrufe
    Niemand hat geantwortet