Notizen mit Meemo

Kurzbeschreibung

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/).

Einrichtung

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:

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.

Fazit

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.


Zurück zur Hauptseite