Memos mit Docker Compose: Eigene Markdown-Notizen lokal und sauber hosten
Stand: 27. April 2026, 16:00 Uhr CEST. Nach aktueller Recherche war heute kein ausreichend starkes News-Thema verifizierbar, das nicht bereits durch sehr frische Artikel im Blog abgedeckt ist. Der Fallback muss also echten Nutzwert liefern. Memos passt dafuer sauber: Die offizielle Doku fuehrt jetzt eine eigene Docker-Compose-Seite, beschreibt Memos als schnellen Self-Hosting-Kandidaten fuer lokale oder kleine produktive Setups und setzt weiter auf ein kompaktes Einzelcontainer-Modell mit SQLite und persistentem Datenpfad. Zusaetzlich zeigt die GitHub-Release-Seite seit 27. April 2026 bereits v0.28.0 als neuesten Release.
Das sichtbare Ergebnis dieses Tutorials ist bewusst konkret: eine laufende Memos-Instanz unter http://127.0.0.1:5230, in der der erste Benutzer automatisch Host-Admin wird und sofort die erste Markdown-Notiz anlegen kann.

Was du am Ende hast
- Memos lokal unter
http://127.0.0.1:5230 - persistente Daten in
./data - SQLite als einfache Standarddatenbank
- einen ersten Admin-Account direkt ueber den Browser
- klare Pruefschritte mit
docker compose, Logs undcurl
Voraussetzungen
Du brauchst nur:
- Docker Engine
- das Compose-Plugin (
docker compose) - einen freien lokalen Port
5230
Kurz pruefen:
docker --version
docker compose version
1. Eigenen Arbeitsordner anlegen
Nicht in einem bestehenden Projekt loslegen. Lege zuerst einen dedizierten Ordner an:
mkdir memos-local
cd memos-local
mkdir -p data
2. Compose-Datei schreiben
Lege jetzt die Datei memos-local/compose.yaml an:
services:
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "127.0.0.1:5230:5230"
volumes:
- ./data:/var/opt/memos
environment:
MEMOS_PORT: 5230
MEMOS_DRIVER: sqlite
MEMOS_INSTANCE_URL: http://127.0.0.1:5230
Warum genau so?
- die offizielle Compose-Doku verwendet weiterhin
neosmemo/memos:stable 127.0.0.1:5230:5230haelt den Dienst absichtlich lokal./data:/var/opt/memosmacht Daten und Uploads persistentMEMOS_DRIVER=sqliteerzwingt den einfachen StandardpfadMEMOS_INSTANCE_URLpasst zur lokalen URL und sollte spaeter auf deine echte Domain wechseln, falls du einen Reverse Proxy davorsetzt
3. Stack starten
Jetzt startest du den Dienst:
docker compose pull
docker compose up -d
Die offizielle Doku nennt genau diesen Weg als Standardstart fuer Compose-Deployments.
4. Technisch pruefen
Pruefe zuerst den Containerstatus:
docker compose ps
Dann die letzten Logzeilen:
docker compose logs --tail=100 memos
Zum Schluss den lokalen HTTP-Endpunkt:
curl -I http://127.0.0.1:5230
Wenn alles sauber laeuft, zeigt docker compose ps einen laufenden Container und curl liefert einen HTTP-Status zurueck. Genau hier ist das sichtbare Zwischenergebnis schon erreicht: Nicht nur Docker laeuft, sondern die Anwendung antwortet lokal.
5. Ersten Admin im Browser anlegen
Oeffne jetzt:
http://127.0.0.1:5230
Laut offizieller Getting-Started-Doku wird der erste Benutzer automatisch Host-Admin. Genau deshalb ist der erste Login nicht nur irgendein Setup-Schritt, sondern der entscheidende Sicherheitsmoment dieses Projekts.
Nimm fuer den ersten Account deshalb direkt:
- ein starkes Passwort
- einen Benutzernamen, den du spaeter behalten willst
- eine bewusste Entscheidung dazu, ob Registrierungen spaeter geoeffnet werden sollen
6. Erste Notiz und sichtbares Endergebnis
Sobald du eingeloggt bist, lege direkt eine erste Testnotiz an:
# Willkommen bei Memos
Die Instanz laeuft lokal.
- [x] Docker Compose gestartet
- [x] Admin angelegt
- [ ] Erste echte Notiz schreiben
#selfhosted #memos
Damit ist das Tutorial sichtbar abgeschlossen: Du siehst die Notizliste, Markdown wird gerendert, Checklisten funktionieren und Tags lassen sich direkt im Text setzen.
7. Was du ueber Daten und Backups wissen solltest
Die aktuelle Backup-Doku nennt fuer das Standardlayout genau zwei kritische Elemente:
- die SQLite-Datenbank
memos_prod.db - den Ordner
assets/fuer hochgeladene Dateien
Bei diesem Compose-Setup liegen beide innerhalb von memos-local/data. Wenn du spaeter Backups baust, ist also nicht nur die Compose-Datei wichtig, sondern vor allem dieser Datenordner.
8. Sicherheitsdetails, die du nicht aufschieben solltest
Die aktuelle Sicherheitsdoku ist an dieser Stelle klar:
- hinter einer echten Domain sollte Memos ueber HTTPS laufen
MEMOS_INSTANCE_URLmuss dann zur oeffentlichen URL passen- eine private Instanz sollte Registrierungen und oeffentliche Inhalte bewusst restriktiv behandeln
- der erste Admin-Account ist der wichtigste Zugang der ganzen Instanz
Fuer den lokalen Test ist 127.0.0.1 richtig. Fuer echten Dauerbetrieb im Heimnetz oder Internet reicht das allein nicht.
9. Nuetzliche Alltagsbefehle
docker compose logs -f memos
docker compose restart memos
docker compose pull
docker compose up -d
docker compose down
docker compose down entfernt den Container, aber nicht den Inhalt von ./data.
Warum dieses Setup am 27. April 2026 stark genug ist
Der Punkt hier ist nicht ein weiterer generischer Docker-Text ohne Anwendung. Memos hat heute einen klar aktuellen Stand: Die Projekt-Doku wurde aufgeraeumt, die Compose-Anleitung ist explizit vorhanden, und auf GitHub steht seit 27. April 2026 bereits v0.28.0 als neuer Release. Fuer Leser ist das praktisch verwertbar: ein sichtbarer Browser-Endpunkt, ein echter Notiz-Workflow und ein Self-Hosting-Projekt, das klein genug fuer den Sofortstart bleibt.