
Wir zeigen, wie Sie mit Docker-Compose einen Docker-Container für Joplin-Server einrichten und die Joplin Notiz-App damit synchronisieren.
Was ist Joplin?
Joplin ist eine kostenlose und quelloffene Software zum Verfassen von Notizen und Aufgabenlisten. Die Anwendung unterstützt das Markdown-Format und ermöglicht das Einbinden von Dateien wie Bildern und PDFs. Inhalte können von anderen Apps importiert und in verschiedenen Formaten exportiert werden. Die Anwendung steht plattformübergreifend für Linux, macOS, Windows, Android und iOS zur Verfügung.

Barrierefreiheit
Ausprobiert haben wir die App unter Ubuntu, als Snap-Paket installiert. Hier ist sie mit dem Screen-Reader Orca bedienbar. Zudem stehen verschiedene Farb-Themen zur Verfügung. Die Schriftgröße lässt sich individuell in den Einstellungen anpassen und für eine schnelle Vergrößerung hilft die übliche Tastenkombination
Strg + Plus-Taste
Wer bei größerer Schrift mehr Platz im Editor-Bereich benötigt, kann die Seitenleisten komfortabel weit zusammenschieben oder eben ganz ausblenden.
Hilfreich für eine schnelle Navigation ohne Maus ist auch die Option Tab verschiebt Fokus aus dem Menü Ansicht, Tastenkombination:
Strg + M
Inhalte speichern
Alle Inhalte speichert man primär lokal, sie können aber optional über eine Cloud synchronisiert werden. Möglich sind verschiedene Cloud-Dienste, wie Nextcloud, Dropbox, One-Drive und die kostenpflichtige Joplin Cloud.
Alternativ können Sie den Synchronisationsserver Joplin Server Business auf Ihrer eigenen Infrastruktur installieren. Der einfachste Weg ist hier die Verwendung eines Docker-Containers.
Voraussetzungen
Für unser Beispiel verwenden wir Ubuntu 25.04 und richten einen lokalen Docker-Container ein. Statt auf dem lokalen Rechner können Sie den Container aber auch auf einer externen Festplatte, einem anderen Rechner im Heimnetz oder einem Raspberry PI erstellen.
Was Sie auf Ihrem Rechner benötigen:
- Joplin (die lokale App)
- Docker und Docker Compose
Eine Anleitung für Docker finden Sie hier:
Joplin installieren Sie unter Linux am einfachsten über die Softwareverwaltung. Alternativ steht die App zum Download auf der Herstellerseite zur Verfügung.
Server Verzeichnis-Struktur
Erstellen Sie ein Projektverzeichnis mit dem Namen joplin-server auf ihrem Rechner. In diesem Verzeichnis die Datei compose.yaml und ein Verzeichnis data .
.
├── compose.yaml
├── data
│ └── postgres [error opening dir]
└── README.md
3 directories, 2 files
Das Verzeichnis data nimmt später das Volume für die Postgres-Datenbank auf. Das Volume (postgres) wird während der ersten Ausführung von Docker-Compose automatisch erstellt. In der Postgres-Datenbank speichert der Joplin-Server die synchronisierten Notizen und andere Inhalte. Die Meldung [error opening dir] sehen Sie hier, weil das postgres– Volume nur mit Administrator-Rechten zugänglich ist. Von dem Verzeichnis data sollten Sie später (im Produktiveinsatz) regelmäßig Backups anfertigen.
Die Compose-Datei
Öffnen Sie in einem Editor das neue Projekt-Verzeichnis und legen Sie dort die Datei compose.yaml an. Wir nutzen den Editor Visual Studio Code:

Die compose.yaml Datei hat den folgenden Inhalt:
services:
db:
image: postgres:latest
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=testing123
- POSTGRES_USER=joplin
- POSTGRES_DB=joplindb
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "127.0.0.1:22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=http://127.0.0.1:22300
- DB_CLIENT=pg
- POSTGRES_PASSWORD=testing123
- POSTGRES_DATABASE=joplindb
- POSTGRES_USER=joplin
- POSTGRES_PORT=5432
- POSTGRES_HOST=dbDie im Bereich environment angegebenen Werte für Benutzer, Passwort und Datenbank können Sie umbenennen.
| ändern: | |
|---|---|
| POSTGRES_USER | joplin |
| POSTGRES_PASSWORD | testing123 |
| POSTGRES_DATABASE | joplindb |
Den Joplin-Server starten
Um den Docker-Container zu erstellen und den Server zu starten, öffnen Sie ein Terminal und wechseln in das Projektverzeichnis mit der Compose-Datei:
cd joplin-serverContainer und Server starten Sie mit dem Befehl:
sudo docker compose up -dDas kann eine Weile dauern, wenn die zugrundeliegenden Images erst geladen werden müssen.

Wechseln Sie anschließend in einen Browser, wir verwenden Firefox, und rufen Sie die Seite mit dem Server auf. Dazu geben Sie die folgende Adresse in der Adressleiste ein:
http://localhost:22300
Oder:
http://127.0.0.1:22300
Sie erhalten dann die Login-Seite des Joplin Servers:

Für den Administrator sind die Login-Daten vorgegeben (die sollten Sie nach dem ersten Login ändern, insbesondere bevor Sie den Server produktiv einsetzen).
| admin@localhost | |
| Password | admin |
Nun haben Sie Zugang zum Admin-Dashboard. Hier können Sie die Synchronisation verfolgen, neue Benutzer anlegen und vieles mehr.


Die synchronisierten Inhalte verbergen sich hinter dem Menüpunkt Items. Der Menüpunkt Report liefert einen Überblick der Synchronisation.

In der lokalen App
Damit eine Synchronisation der lokalen Inhalte aus der Joplin-App mit dem Server stattfinden kann, müssen Sie dort die Zugangsdaten für den Server hinterlegen. Sie finden die Einstellungen hierzu über das Menü
Werkzeuge > Optionen > Synchronisation
Erforderlich sind die Daten:
| Joplin Server-URL | http://127.0.0.1:22300 |
| Joplin Server-Email | admin@localhost |
| Joplin Server-Password | admin |

Haben Sie später weitere Benutzer auf dem Server angelegt, setzen Sie deren Daten stattdessen ein, z.B.
| Joplin Server-URL | http://127.0.0.1:22300 |
| Joplin Server-Email | henreitte@example.com |
| Joplin Server-Password | verysecret123 |
Container stoppen
Um den Container und damit auch den Server zu stoppen, verwenden Sie dem Befehl
sudo docker compose stopOder stoppen und löschen den Container mit
sudo docker compose down
Die zuvor gesicherten Inhalte und alle Daten bleiben dabei erhalten, weil das data – Verzeichnis innerhalb des Containers mit all seinen Inhalten auf das externe Volume (Verzeichnis data/postgres auf Ihrem Rechner, dem Host) abgebildet wurde.
Ausblick
Der Joplin Server setzt eine Ende-zu-Ende Verschlüsselung für die Übertragung von der lokalen App zum Server ein. Das ist vorgesehen, um Daten sicher über das Internet zu transportieren. Dazu empfiehlt sich der zusätzliche Einsatz eines Proxy-Servers und die Zuweisung eines Zertifikats.
Dieser Beitrag soll Ihnen den Einstieg in die Nutzung des Joplin‑Servers erleichtern. Auch wenn für die Synchronisation alternativ Dropbox oder One-Drive genutzt werden können, funktioniert doch die Synchronisation mit dem Joplin-Server deutlich schneller. Insbesondere bietet das Setup auf einem Heimserver eine gute Alternative zu OneDrive.