Als zweite Anwendung zur Notizverwaltung habe ich mir Meemo angesehen. Was mir daran gleich gefallen hat ist die Übersichtlichkeit: eine Suchzeile, ein langer Feed aus Nachrichten, auf Wunsch eine Liste der häufigsten Tags am Rand und ein Eingabefeld für eine neue Notiz; das war's. Optional kann noch ein Hintergrundbild ausgewählt werden. Aber der Fokus liegt ganz klar auf den Notizen und der Art und Weise wie man sie wiederfindet.
Die Notizen selbst unterstützen Markdown und erlauben das Einbetten von Bildern und Codeblöcken. Als
kleine Hilfe gibt es ein Markdown-Cheatsheet das man einblenden kann. Gerade bei eher seltenen Konstrukten wie
Tabellen oder Farben hilft das dem Gedächtnis auf die Sprünge. Nicht im Sheet aufgeführt, aber
trotzdem möglich, sind Links mit eigenem Titel: [Eigener Titel](https://www.example.com/)
.
Als Docker-Image verwende ich qmcgaw/meemo. Das ist schon irgendwie das "richtige", aber der Hintergrund ist etwas verworren; wenn man den Hinweisen folgt ergibt sich folgendes Gesamtbild:
Wenn man genau hinsieht merkt man, dass das Docker-Image auf einer etwas älteren Version basiert, aber so
wahnsinnig viel scheint nicht passiert zu sein. Man kann das Image auch relativ leicht auf die aktuelle Version
heben, wenn man Quentins Repository klont und die Versionsnummer im
Dockerfile
anpasst.
Meemo verwendet MongoDB als Datenbank. Diese funktioniert allerdings ab Version 5 nicht mehr auf dem Raspberry Pi, wie folgende Warnung verrät:
WARNING: MongoDB 5.0+ requires ARMv8.2-A or higher, and your current system does not appear to implement any of the common features for that! see https://jira.mongodb.org/browse/SERVER-55178 see also https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features see also https://github.com/docker-library/mongo/issues/485#issuecomment-970864306
Die Versionen der 4er-Reihe funktionieren jedoch noch einwandfrei (getestet mit 4.4.18). Aus allen diesen
Informationen habe ich folgende docker-compose.yaml
erzeugt:
services: db: image: mongo:4 volumes: - <Pfad zur Dokumenten-Datenbank>:/data/db app: image: qmcgaw/meemo volumes: - <Pfad zur Benutzer-Datenbank>:/users.json - <Pfad zur Bilder-Ablage>:/data environment: - CLOUDRON_MONGODB_URL=mongodb://db:27017/meemo - CLOUDRON_APP_ORIGIN=http://localhost - LOCAL_AUTH_FILE=/users.json ports: - 3000:3000/tcp depends_on: - db
Damit ist die MongoDB auf die neueste 4er-Version eingeschränkt, was für den Raspberry Pi 3 und 4 funktioniert. Vielleicht noch ein paar Worte zu den Volumes:
Bild1.jpg
zu vermeiden).
Zur Verwaltung der Benutzer-Datenbank dient ein Programm das im Container unter meemo/admin
liegt.
In der Readme-Datei von Quentins Repository
sieht man Beispiele für verschiedene Aufrufe, auf mein Szenario gemünzt ist der Aufruf so:
$ docker-compose exec app ./meemo/admin user-add -u felix -p <password> --display-name Felix
Auch Meemo beherrscht zunächsts nur HTTP und bietet keine TLS-Verschlüsselung an, sodass ein Verbund mit einem Reverse Proxy Server notwendig ist, wenn HTTPS-Verkehr ein must-have ist.
Meine Meinung zu Meemo als Notizverwaltung ist durchwachsen. Einerseits gefällt es mir sowohl optisch als auch funktional sehr gut. Andererseits belegt es einen erheblichen Anteil der Systemressourcen (insbesondere Arbeitsspeicher) und wird wahrscheinlich doch nicht so besonders häufig von mir genutzt werden, weil mir ein klarer Anwendungsfall fehlt. Ich denke aber ich werde ihm eine Chance geben, im Zusammenspiel mit einem ausreichend großen Swap-Speicher, in den es bei Nichtverwendung ausgelagert werden kann; Arbeitsspeicher nur des Sparens willen zu sparen ist unsinnig, er ist ja schließlich zum damit arbeiten da.
Update: ich habe Meemo inzwischen doch aus meiner Cloud verstoßen, weil es durch ständige Zugriffe die USB-Festplatte vom Einschlafen abgehalten hat. Soweit ich sehen konnte waren das Diagnose-Daten, die man ggf. auch irgendwie hätte abstellen können, aber in Summe habe mich die vielen negativen Erfahrungen mit der MongoDB von diesem Dienst abgebracht.