Joplin im Docker-Setup – Open Source Notizen, sicher und überall verfügbar
Manchmal stößt man auf Software, die einfach klick macht – und genau das war bei mir mit Joplin der Fall.
Ich nutze Joplin inzwischen seit über einem Jahr für meine komplette Dokumentation – egal ob technische Notizen, persönliche Ideen oder spontane Gedanken zwischendurch.
Und ich sag’s ehrlich: Es hat bei mir einen Nerv getroffen!
👋 Wie alles anfing
Ein alter Freund hat mich damals auf Joplin aufmerksam gemacht. Zu der Zeit haben wir beide noch mit Microsoft OneNote gearbeitet – eigentlich zufrieden, aber nicht wirklich glücklich.
Ich hatte mehrere Rechner und Notebooks im Einsatz, aber ich hatte einfach keine Lust, für jedes Gerät eine eigene Office-Lizenz zu kaufen.
Dazu kam der Wunsch nach etwas Quelloffenem. Etwas, das ich selbst hosten, verstehen und kontrollieren kann.
Und genau da kam Joplin ins Spiel. Open Source, aktiv weiterentwickelt, mit Apps für alle Plattformen – und vor allem: Synchronisation und Verschlüsselung sind direkt integriert.
💡 Warum Joplin für mich DAS Tool ist
Joplin ist für mich die perfekte Mischung aus Einfachheit und Funktionalität.
Ich kann Markdown schreiben (was ich liebe!!), meine Notizen verschlüsseln, sie zwischen Geräten synchronisieren und auf Wunsch sogar im Browser bearbeiten.
Ja, du hast richtig gelesen – man kann sich einen WebViewer für Joplin bauen, um Notizen direkt im Browser zu lesen und zu bearbeiten.
Wenn dich das interessiert, kann ich dazu gern ein separates HowTo schreiben. Einfach unten einen Kommentar hinterlassen!

🧩 Voraussetzungen
Bevor es losgeht, brauchst du natürlich eine funktionierende Docker-Umgebung.
Wenn du Docker noch nicht installiert hast, findest du hier eine Schritt-für-Schritt-Anleitung, wie du das auf Ubuntu mit einem Script erledigst:
Sobald Docker läuft, kann es direkt weitergehen.
🧩 Installation via Docker Compose
Ich betreibe meinen Joplin-Server on-premises auf meinem eigenen System – ganz klassisch über Docker Compose.
Das Setup ist wirklich schnell erledigt und läuft bei mir stabil seit über einem Jahr.
Die offizielle Docker-Image-Seite findest du hier:
👉 https://hub.docker.com/r/joplin/server/tags
Dort schaue ich hin und wieder vorbei, wenn ich prüfen möchte, wie der aktuelle Versionstag heißt oder ob es neue Releases gibt.
Der Quellcode selbst liegt auf GitHub:
👉 https://github.com/laurent22/joplin
Hier findest du meine aktuelle docker-compose.yaml.
Denk daran, die Domain, die BaseURL und vor allem die Kennwörter an deine Umgebung anzupassen.
Ich habe das Datenbankkennwort zwar extra für diesen Beitrag neu generiert, aber bitte nutze natürlich eigene Werte.
---
services:
joplin-db:
image: postgres:17-alpine
container_name: joplin-db
hostname: joplin-db
volumes:
- ./data/postgres:/var/lib/postgresql/data
restart: unless-stopped
networks:
joplin.dockernetwork.local:
ipv4_address: 172.16.9.10
environment:
- POSTGRES_PASSWORD=KGrdUnm9xkBu46J
- POSTGRES_USER=joplin
- POSTGRES_DB=joplin
joplin-app:
image: joplin/server:3.4.3
container_name: joplin-app
hostname: joplin-app
depends_on:
- joplin-db
ports:
- "22300:22300"
networks:
joplin.dockernetwork.local:
ipv4_address: 172.16.9.11
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=http://notes.cleveradmin.local
- DB_CLIENT=pg
- POSTGRES_PASSWORD=KGrdUnm9xkBu46J
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PORT=5432
- POSTGRES_HOST=172.16.9.10
- MAILER_ENABLED=1
- MAILER_HOST=smtp.cleveradmin.local
- MAILER_PORT=25
- MAILER_SECURE=0
- MAILER_SECURITY=None
- MAILER_NOREPLY_NAME="Joplin"
- MAILER_NOREPLY_EMAIL=noreply@cleveradmin.local
- SUPPORT_EMAIL=support@cleveradmin.local
- TZ=Europe/Berlin
networks:
joplin.dockernetwork.local:
external: true
Damit Docker das Netzwerk findet, legst du es vorher einmalig an:
docker network create --subnet=172.16.9.0/24 joplin.dockernetwork.local
🌍 NGINX Konfiguration
Für den Betrieb hinter meinem Nginx Proxy Manager nutze ich im Advanced-Bereich folgenden Block.
location / {
proxy_pass http://172.16.9.11:22300;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_request_headers on;
proxy_max_temp_file_size 0;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
client_max_body_size 100M;
proxy_request_buffering off;
}
Damit funktionieren WebSockets (Upgrade-Header), lange Timeouts für Sync und API, sowie Uploads ohne vorgelagertes Request-Buffering. Wichtig: Setz in Joplin APP_BASE_URL auf deine öffentliche HTTPS-URL, sonst gibt es gemischte Links oder Redirect-Loops.
Die Zeilen client_max_body_size 100M und proxy_request_buffering off sind für Dateiuploads entscheidend (Anhänge, Bilder). Wenn du größere Anhänge erwartest, heb den Wert an. Der Host-Header wird bewusst durchgereicht, damit Joplin korrekte absolute URLs erzeugt.
🔧 Die Administration
Nach dem Start kannst du dich im Webinterface mit den Standard Zugangsdaten anmelden:

| Variable | Wert |
|---|---|
| Benutzer | admin@localhost |
| Passwort | admin |
Nach dem Login landet man zunächst auf dem Dashboard.

Hier werden alle Informationen zum aktuell angemeldeten Benutzer angezeigt – inklusive dem Speicherverbrauch.
Ich empfehle dringend, direkt nach dem ersten Login das Kennwort zu ändern.
Das geht ganz einfach: Oben rechts auf den Namen klicken und anschließend Kennwort ändern auswählen.
Wenn das erledigt ist, lohnt es sich, gleich einen neuen Benutzer anzulegen.
Dazu klickt man oben in der Mitte auf Admin, dann links auf User.
Hier kann man die E-Mail-Adresse, ein Initialkennwort und – falls gewünscht – ein Speicher-Kontingent festlegen.

Ich selbst lege grundsätzlich immer zwei Konten an:
Einen Admin-Benutzer für Verwaltung und Systempflege, und einen normalen Benutzer, mit dem ich im Alltag arbeite.
Das halte ich bei fast allen Applikationen so, die ich selbst hoste – einfach aus Gewohnheit und Sicherheitsgründen.
Wenn der Admin angepasst und der neue Benutzer erstellt ist, kann man sich abmelden und sich im nächsten Schritt der Client-Installation widmen.
🧭 Der Client
Die Clients für Windows, macOS, Linux, iOS und Android findest du hier:
Ich nutze unter anderem den Windows-Client und bin total zufrieden.
Über das Menü → Werkzeuge → Optionen → Synchronisation kannst du dein Konto verbinden und sogar eine Ende-zu-Ende-Verschlüsselung aktivieren.
Gerade wenn du sensible technische Notizen oder Passagen aus der Doku dort ablegst, ist das Gold wert.


Was ich außerdem empfehle: Aktiviere die optische Zeichenerkennung (OCR).
Damit kann Joplin Text aus Bildern auslesen – super praktisch, wenn du in Screenshots oder Diagrammen nach bestimmten Begriffen suchst.
Du findest die Einstellung im Menü → Werkzeuge → Optionen → Allgemeines.

🔌 Plugins und Erweiterungen
Joplin lässt sich durch Plugins erweitern – und davon gibt’s einige richtig nützliche.
Du findest sie im Menü → Werkzeuge → Optionen → Erweiterungen.
Ein Plugin, das ich besonders empfehlen kann, ist Note Tabs.
Damit kannst du bequem zwischen mehreren Notizen hin- und herspringen – ähnlich wie in einem Browser mit Tabs.
Gerade wenn du parallel an mehreren Themen arbeitest, ist das ein echter Produktivitätsbooster!

🔗 Notizen teilen
Ein weiteres cooles Feature ist die Freigabe-Funktion.
Wenn du deinen Joplin-Server im Internet verfügbar hast, kannst du einzelne Notizen einfach teilen.
Klicke dazu mit der rechten Maustaste auf die Notiz und wähle „Notiz veröffentlichen“.
Joplin synchronisiert dann kurz mit dem Server und generiert einen öffentlichen Link.
Der Name der Notiz wird anschließend orange dargestellt (im Dark Mode gut sichtbar) – daran erkennst du, dass sie freigegeben ist.

Wenn du die Freigabe wieder entfernen willst, gehst du denselben Weg:
Einfach wieder auf „Notiz veröffentlichen“ klicken und dann auf das Teilen-Symbol rechts klicken.
🚀 Mein Fazit
Ich finde Joplin klasse.
Es ist schlank, zuverlässig und bietet alles, was ich von einem Notizsystem erwarte – Markdown, Verschlüsselung, Docker-Hosting, Apps für alle Geräte und eine aktive Community.
Man merkt einfach, dass hier mitgedacht wird – und das Beste: Es funktioniert komplett ohne Abos, Cloud-Zwang oder proprietäre Formate.
Das einzige, was ich ein wenig schade find ist, dass es nicht Möglich ist, dass mehrere Benutzer zusammen an einer Notiz arbeiten können.
Trotzdem: Wenn du also nach einer starken Alternative zu OneNote suchst, die du selbst hosten kannst, dann probier Joplin unbedingt aus!
Es gibt sicher noch viele weitere spannende Funktionen, die ich hier nicht erwähnt habe – aber das Schöne ist: Du kannst sie selbst entdecken.
Und falls du Fragen hast oder mehr zu bestimmten Themen wissen willst (zum Beispiel zum WebViewer oder zum OneNote-Import), schreib’s gern in die Kommentare. Ich helfe dir gern weiter!
👥 Techniverse Community
Lust auf Austausch rund um Matrix, Selfhosting und andere smarte IT-Lösungen?
In der Techniverse Community triffst du Gleichgesinnte, kannst Fragen stellen oder einfach nerdigen Talk genießen. 🚀
👉 Jetzt der Gruppe auf Matrix beitreten
~ Direkte Raumadresse: #community:techniverse.net
👉 Für lockere Gespräche abseits der Kernthemen komm in den Talkraum
~ Direkte Raumadresse: #talk:techniverse.net
Wir freuen uns, wenn du dabei bist!



