Podman und NextcloudPi für die Joplin-Notizen-App dank Thomas Bayen#

(erstellt am 28.11.2021, Stand: 29.11.2021)

Vielen Dank an Thomas Bayen für die Pionierarbeit der Dokumentation der Docker Alternative "Podman" hier im LUG-Krefeld-Wiki: Podman!!

Übrigens, Update am 26.12.2022: Nextcloud-aufsetzen geht mit Podman laut Ferdinand Thommes jetzt noch einfacher, siehe NextcloudPodmanReloaded.

Ich habe im Sommer 2021 eine Notizen-App für Android gesucht. Dabei bin ich relativ schnell wegen Datenhoheit und OpenSource bei Joplin gelandet. (Mehr dazu auch auf Joplin) Joplin kann die erfassten Daten im md-Format

  • hübsch aufbereiten
  • intern mit href-navigieren lassen
  • auf- und zu-klappen
  • Notizen im Filesystem synchronisieren.
Der letzte Punkt hat mir einigen Info-Nachholbedarf aufgezeigt. Die direkte Ablage der Notizen im Android-Filesystem habe ich in der aktuellen Joplin-App (Version 2.6.3) nicht ans Rennen gebracht. Das Protokoll sagt:
Error: Directory could not be created.
Path: ./Android/data/net.cozic.joplin/files/test
... also WebDAV!

Thomas Bayen möchte hier anmerken, das er u.a. durch diesen Artikel auch auf Joplin gekommen ist, dann das WebDAV-Problem aber anders gelöst hat: WebDav im Container. Vielleicht ist das als Alternative ja auch einen Blick wert.

Zur Synchronisation ist (nach meinem Verständnis der Suchmaschinentreffer) am besten WebDav per Nextcloud-geeignet.
Da ich Google-Drive, OneDrive, DropBox and the like als externen Datensenken nicht über den Weg traue, habe ich mein Glück mit einer eigenen NextCloud in einem Notebook (ohne RaspberryPi) versucht.
Dazu kann man sich hier orientieren:

Mit der Vorarbeit von Thomas im o.g. Podman-Artikel war ein Container im Vergleich zur Lebenszeit einer Schildkröte schnell aufgesetzt (innerhallb einer Woche). Zur Beschleunigung für Euch und zur Umschiffung von möglichen Stolperfallen, möchte ich hier die wesentlichen Schritte auf Manjaro-Linux (Arch) zusammenfassen. Die wesentlichen Strategien sind hoffentlich auf Debian oder OSX übertragbar.

1. Kommandozeile: pacman -S podman

2. rootless-Einstellungen, wie im Podman-Artikel von Thomas beschrieben, vornehmen

   D.h.
sudo usermod --add-subuids 10000-75535 [Username]
sudo usermod --add-subgids 10000-75535 [Username]

oder

sudo su
echo [Username]:10000:65536 >> /etc/subuid
echo [Username]:10000:65536 >> /etc/subgid

Ich fand zudem folgende Info hilfreich:

https://wiki.archlinux.org/title/Podman -> podman bzw. podman-docker für arch-linux; beachte: Abschnitt "Troubleshooting" mit "No image found". Also:

/etc/containers/registries.conf.d/00-unqualified-search-registries.conf

unqualified-search-registries = ["docker.io"]
und
/etc/containers/registries.conf.d/01-registries.conf

[[registry]]
location = "docker.io"
This is equivalent to the default docker configuration.

3. Container erstellen:

podman run -d -p 4443:4443 -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi localhost

und 100 weitere Schritte außerhalb und innerhalb NextcloudPi (ToDo: dokumentieren) Unter Anderem:

Einklinken in die Bash des erzeugten Containers:

podman exec -it nextcloudpi bash

ncp-config auf der Kommandozeile im Container aufrufen und zu Trusted-Domains in der config.php hangeln:
xyz-pc.fritz.box

Persistente Daten liegen im Volume, das beim ersten podman-Aufruf zugewiesen wurde

Noch etwas: ich bin nicht mit avahi und nss-mdns klargekommen. Deshalb die "fritz.box" als lokale Domäne weiter unten.

4. mkcert installieren (Auf dem NextcloudPi-Host, nicht im Container):

sudo pacman -S mkcert
5. mkcert initialisieren:
mkcert -install
6. lokale mkcert-Zertifikate für die IP des Nextcloud-Rechners erstellen, x und y bitte entsprechend füllen:
mkcert fritz.box "*.fritz.box" localhost 192.168.x.y 127.0.0.1 ::1
7. WebDAV-URL in Nextcloud-User-Dashboard in der Abteilung "File" bzw. im deutschen Pendant "Dateien" ablesen.
Beispiel:
https://xyz-PC.fritz.box/remote.php/dav/files/ncp

8. Eintragen der unter dem vorherigen Punkt ermittelten WebDav-URL in der Joplin-Konfiguration (Symbol:"Zahnrad").
8.1 Synchronisationsziel: Nextcloud
8.2 Nextcloud-WebDAV-URL: siehe vorherige Angabe
8.3 Nextcloud-Benutzername: ncp
(The username/password for ncp-web is ncp/ownyourbits)
8.4 Nextcloud-Passwort: ownyourbits oder ein im Dashboard o.ä. alternativ generiertes Ungetüm.

9. Bitte im Joplin-Hamburgermenü den Punkt "Synchronisation" anwerfen Im Erfolgsfall zählt Joplin die Prozente der synchronisierten Notizen hoch und zeigt zum Abschluss die vergeudete Zeit an.(Zur Fehlersuche bietet die Joplin-Konfiguration einen Protokollbutton)

10. Die synchronisierten Notizen sind bei mir im Podman-Volume unter folgendem physikalischen Dateipfad gelandet.
Den Dateinamen habe ich im Nextcloud-Dashboard bei Ansicht der "neuesten" Dateien gefunden:

find ~|grep 5445.md
./.local/share/containers/storage/volumes/ncdata/_data/nextcloud/data/ncp/files/...5445.md

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-15) was last changed on 26-Dec-2022 09:23 by Markus Monderkamp