← Zurück zur Übersicht Memos mit Docker Compose: Eigene Markdown-Notizen lokal und sauber hosten

Memos mit Docker Compose: Eigene Markdown-Notizen lokal und sauber hosten

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.

Lokal erzeugtes Artikelbild fuer Memos mit Docker Compose

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 und curl

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:5230 haelt den Dienst absichtlich lokal
  • ./data:/var/opt/memos macht Daten und Uploads persistent
  • MEMOS_DRIVER=sqlite erzwingt den einfachen Standardpfad
  • MEMOS_INSTANCE_URL passt 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_URL muss 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.

Quellen