Gobby

Ich hatte viele Jahre eine kleine Nextcloud Instanz in meinem Heimnetzwerk im Einsatz. Insgesamt war ich damit glücklich, leider gab es über die letzten zwei Jahre hinweg immer wieder Probleme mit dem Notizen Plugin. Eine Funktionalität, die mir sehr wichtig ist.

Vor einem Jahr kam dann die Erinnerung hoch, dass ich früher, als Cloud dem Marketingsprech noch fremd und auch sonst noch alles besser war und so, meinerseits gobby dafür genutzt wurde. Der Client ein einfacher GTK basierter Texteditor, welcher für Linux, BSD, MacOS und Windows verfügbar ist. Der Server ein schmaler daemon, welcher keine besonderen Rechte benötigt so lange Ports > 1024 genutzt werden. Lange Zeit das wichtigste Feature, es können mehrere Clients gleichzeitig an einer Datei arbeiten und einen Chat gab es dazu. Clients werden Farben zugeordnet, mit denen die Eingaben hinterlegt werden wodurch transparent war, wer welche Änderungen am Text vorgenommen hat.

Die Konfiguration des Servers geschieht im HOME Verzeichnis des ausführenden Benutzers ${HOME}/.config/infinoted.conf oder kann via Argument --config-file vorgegeben werden. Einfache meinerseits im Heimnetz genutzte Konfiguration, welche alle 30 Sekunden die Dateien (falls geändert) speichert und regelmäßig in einer parallelen Ordnerstruktur als Plaintext Dateien sichert.

[infinoted]
key-file=/home/Benutzer/infinoted-key.pem
certificate-file=/home/Benutzer/infinoted-cert.pem
security-policy=require-tls
root-directory=/home/Benutzer/gobby
password=DasPlaintextPasswortKommtHierHin.
plugins=note-text;autosave;directory-sync

[autosave]
interval=30

[directory-sync]
directory=/home/Benutzer/gobby-plaintext-sync
interval=300

Falls man den Server nicht alleine nutzen möchte, kann man statt einem zentralen Passwort auch User&Password oder zertifikatsbasierte Authentifizierung einrichten. Soll der daemon auch aus dem Internet heraus erreichbar sein, muss man die Konfiguration (Code) natürlich erweitern und natürlich auf OS Ebene den daemon und den Zugruff auf die Daten besser eingrenzen.

Handhabung via systemd Unit ist unkompliziert, wenn man mehrere Instanzen auf einem Server laufen lassen möchte, kann man wenn man für die Bennenung der Konfigurationsdateien ein passendes Schema nutzt einfach mit Templates arbeiten.

[Unit]
Description=Local infinoted for gobby texteditor.
After=network-online.target

[Service]
KillMode=process
User=Benutzer
Group=Benutzer
ExecStart=/usr/bin/infinoted-0.7

[Install]
WantedBy=multi-user.target

links

social