Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Synology / NAS 11.09.2026 · 10 min Lesezeit

Docmost auf dem Synology NAS installieren: moderne Confluence-Alternative

Docmost bringt Confluence-Spaces und Echtzeit-Kollaboration auf das eigene NAS. Diese Anleitung zeigt den Compose-Stack mit PostgreSQL und Redis, die sichere APP_SECRET-Generierung und die WebSocket-Konfiguration im Synology Reverse Proxy.

Docmost auf dem NAS: Team-Wiki, Spaces, Gemeinsam bearbeiten. Illustration mit Laptop und Administrationsoberfläche. KI-generiert

Wer intern ein Wiki mit mehreren Abteilungen betreiben will, kennt das Dilemma: Confluence ist teuer und an Atlassian gebunden, Notion speichert alles in der Cloud, BookStack strukturiert Inhalte als Regal-Buch-System. Docmost geht einen anderen Weg – es bringt das Confluence-Konzept der Spaces mit sich, erlaubt echte Mehrbenutzer-Zusammenarbeit in Echtzeit und läuft vollständig auf dem eigenen NAS. IT-Abteilung, HR und Vertrieb arbeiten in separaten Spaces mit eigenen Berechtigungen, niemand sieht den Content der anderen, und alle Daten bleiben auf dem eigenen Volume. Der Stack besteht aus drei Diensten – Docmost selbst (TypeScript/Node.js), PostgreSQL als Primärdatenbank und Redis für WebSocket-Sessions –, die gemeinsam als Container Manager-Projekt gestartet werden.

Voraussetzungen

  • Synology NAS mit x86-64-CPU (z. B. DS223+, DS723+, DS923+ oder neuer) und DSM 7.2 oder höher
  • Container Manager aus dem Paket-Zentrum installiert
  • Mindestens 1 GB freier Arbeitsspeicher (2 GB empfohlen – drei Container gleichzeitig aktiv)
  • Ca. 500 MB freier Festplattenplatz für Images und initiale Daten
  • SSH-Zugang zum NAS für die APP_SECRET-Generierung (Anleitung: SSH auf dem Synology NAS aktivieren und verbinden)
  • Feste lokale IP oder DDNS-Adresse (z. B. name.synology.me) für den Reverse Proxy
  • SSL-Zertifikat über DSM > Systemsteuerung > Sicherheit > Zertifikat (Let's Encrypt kostenlos verfügbar)

Schritt 1: Ordnerstruktur und APP_SECRET anlegen

Docmost benötigt drei bind-mount-Verzeichnisse auf dem NAS. Leg sie per File Station unter /volume1/docker/docmost/ mit den Unterordnern data, db und redis an – oder per SSH mit einem Befehl:

mkdir -p /volume1/docker/docmost/{data,db,redis}

Generiere danach das APP_SECRET direkt im SSH-Terminal:

openssl rand -hex 32

Die Ausgabe ist ein 64-stelliger Hex-String, zum Beispiel:

a3f8c21d7e904b65a1f2d83c490e5b76f1a2d3e4c5b6a7f8e9d0c1b2a3f4e5d6

Kopiere diesen Wert sofort an einen sicheren Ort (Passwortmanager). Nach dem ersten Start darf der APP_SECRET niemals mehr geändert werden – alle laufenden Sessions und JWT-Tokens werden sonst sofort ungültig.

Verifizieren: Prüfe, ob die drei Ordner existieren:

ls -la /volume1/docker/docmost/
# Erwartete Ausgabe: data/  db/  redis/

Der openssl-Befehl muss genau 64 Zeichen ausgeben – prüfe mit openssl rand -hex 32 | wc -c (Ausgabe: 65, das letzte Zeichen ist der Zeilenumbruch).

Schritt 2: compose.yaml erstellen

Öffne den Container Manager, wechsle zu „Projekt" und lege ein neues Projekt namens docmost an (ausführliche Anleitung: Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren). Füge folgenden Inhalt ein – ersetze dabei alle drei Platzhalter durch deine echten Werte:

services:
  docmost:
    image: docmost/docmost:latest
    container_name: docmost
    depends_on:
      - db
      - redis
    environment:
      APP_URL: 'https://docmost.meinname.synology.me'
      APP_SECRET: 'ERSETZEN_MIT_OPENSSL_RAND_HEX_32_AUSGABE'
      DATABASE_URL: 'postgresql://docmost:STARKES_DB_PASSWORT@db:5432/docmost'
      REDIS_URL: 'redis://redis:6379'
      TZ: 'Europe/Berlin'
      DISABLE_TELEMETRY: 'true'
      # MAIL_DRIVER: 'smtp'
      # SMTP_HOST: 'smtp.gmail.com'
      # SMTP_PORT: '587'
      # SMTP_USERNAME: 'deine@gmail.com'
      # SMTP_PASSWORD: 'app-passwort'
      # MAIL_FROM_ADDRESS: 'deine@gmail.com'
      # MAIL_FROM_NAME: 'Docmost Wiki'
    ports:
      - "3199:3000"
    restart: unless-stopped
    volumes:
      - /volume1/docker/docmost/data:/app/data/storage

  db:
    image: postgres:18
    container_name: docmost-db
    environment:
      POSTGRES_DB: docmost
      POSTGRES_USER: docmost
      POSTGRES_PASSWORD: STARKES_DB_PASSWORT
      TZ: 'Europe/Berlin'
    restart: unless-stopped
    volumes:
      - /volume1/docker/docmost/db:/var/lib/postgresql/data

  redis:
    image: redis:8
    container_name: docmost-redis
    command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
    restart: unless-stopped
    volumes:
      - /volume1/docker/docmost/redis:/data

Drei Punkte sind beim Anpassen kritisch: Ersetze STARKES_DB_PASSWORT an beiden Stellen (in DATABASE_URL und in POSTGRES_PASSWORD) durch dasselbe starke Passwort – stimmen sie nicht überein, startet Docmost mit einem Datenbankfehler. Trage deine echte Domain in APP_URL ein; sie muss mit dem später eingerichteten Reverse Proxy übereinstimmen und HTTPS verwenden. Port 3199 ist bewusst gewählt, da Port 3000 auf Synology-NAS häufig bereits belegt ist.

Die folgende Tabelle fasst alle Eckdaten des Stacks zusammen:

ParameterWertHinweis
Image (App)docmost/docmost:latestStabil: v0.90.1 (28.05.2026); alternativ Tag pinnen
Image (DB)postgres:18Offizielles Compose; nicht postgres:17
Image (Cache)redis:8Offizielles Compose; nicht redis:7.2-alpine
Host-Port3199Extern; intern läuft die App auf Port 3000
Volume (App)/volume1/docker/docmost/dataDatei-Uploads, Anhänge
Volume (DB)/volume1/docker/docmost/db→ /var/lib/postgresql/data (mit /data-Suffix!)
Volume (Redis)/volume1/docker/docmost/redisAOF-Persistenz
APP_SECRET64-Zeichen-Hexopenssl rand -hex 32; niemals ändern
Architekturenamd64, arm64Alle aktuellen Synology-NAS kompatibel

Verifizieren: Speichere das Projekt im Container Manager – DSM sollte die YAML-Syntax ohne Fehler akzeptieren. Prüfe anschließend, dass kein Platzhalter mehr im Compose steht:

grep -i "ERSETZEN\|STARKES" /volume1/docker/docmost/docker-compose.yml
# Ausgabe muss leer sein

Schritt 3: Stack starten und Setup-Wizard durchlaufen

Starte das Projekt im Container Manager mit „Erstellen" bzw. „Ausführen". Docmost wartet intern auf PostgreSQL – das depends_on in der Compose stellt sicher, dass der App-Container erst nach dem Datenbankcontainer startet. Nach etwa 30–60 Sekunden sind alle drei Container grün.

Öffne nun im Browser http://NAS-IP:3199. Docmost leitet dich automatisch auf den Setup-Wizard unter /setup weiter. Gib dort an:

  • Workspace-Name: z. B. „Schönfelder EDV Wiki" oder Firmenname
  • Admin-E-Mail und Passwort: Das erste Konto wird automatisch Admin

Nach dem Klick auf „Workspace anlegen" startet Docmost durch und landet direkt in der leeren Wiki-Oberfläche. Kein manuelles Datenbankschema, keine weiteren Konfigurationsschritte – der Setup-Wizard erledigt alles automatisch.

Verifizieren: Prüfe im Container Manager, dass alle drei Container den Status „Wird ausgeführt" zeigen. Kontrolliere die Logs des docmost-Containers – die letzte Zeile sollte lauten:

Server is listening on port 3000

Falls der DB-Container sich immer wieder neu startet, liegt meist ein falsches Passwort in DATABASE_URL vor (Platzhalter nicht vollständig ersetzt).

Schritt 4: Reverse Proxy mit WebSocket einrichten

Damit Echtzeit-Kollaboration funktioniert, braucht Docmost WebSocket-Unterstützung im Reverse Proxy. Öffne DSM > Systemsteuerung > Anmeldeportal > Erweitert > Reverse Proxy und lege eine neue Regel an:

  • Quelle: HTTPS, deine Domain (z. B. docmost.meinname.synology.me), Port 443
  • Ziel: HTTP, localhost, Port 3199

Wechsle danach in den Tab „Benutzerdefinierte Header" dieser Regel und füge zwei Header hinzu:

Header-NameWert
Upgrade$http_upgrade
Connectionupgrade

Diese beiden Header sind nicht optional – ohne sie scheitert die WebSocket-Verbindung, und zwei Nutzer können zwar gleichzeitig eine Seite öffnen, sehen aber die Änderungen des anderen erst nach einem manuellen Reload.

Stelle außerdem sicher, dass die DSM-Firewall Port 3199 für interne Zugriffe freigibt (Anleitung: DSM-Firewall: Ports für Docker-Container freigeben). Der Port muss nur für den Reverse Proxy erreichbar sein, nicht für das Internet direkt.

Verifizieren: Öffne https://docmost.meinname.synology.me im Browser. Das Schloss-Symbol in der Adressleiste muss grün sein (gültiges Zertifikat). Rufe die Browser-Entwicklertools auf (F12 > Netzwerk > Filter: WS) und lade die Seite neu – du solltest eine aktive WebSocket-Verbindung mit dem Status „101 Switching Protocols" sehen.

Schritt 5: Ersten Space anlegen und Echtzeit-Kollaboration testen

Docmost organisiert alle Inhalte in Spaces – das ist der zentrale Unterschied zu BookStack (Regal/Buch-Metapher) und Outline (flache Blöcke). Ein Space entspricht einem Bereich: IT-Dokumentation, HR-Richtlinien oder Vertriebsunterlagen. Jeder Space hat eigene Mitglieder und Berechtigungen.

Klicke in der linken Sidebar auf „+ Neuer Space" und vergib einen Namen. Innerhalb des Space kannst du sofort Seiten anlegen, sie per Drag-and-Drop verschachteln und Unterseiten bis in beliebige Tiefe erzeugen. Der Editor unterstützt out-of-the-box:

  • Diagramme mit Draw.io, Excalidraw und Mermaid (kein Extra-Container nötig)
  • Mathe-Formeln mit KaTeX
  • Tabellen mit erweiterter Formatierung
  • Code-Blöcke mit Syntax-Highlighting
  • Import von Markdown, HTML und Notion-Exporten

Für den KMU-Einsatz empfiehlt sich folgende initiale Space-Struktur: einen Space „IT" für interne Betriebsdokumentation, einen Space „Onboarding" für neue Mitarbeitende und einen Space „Projekte" für laufende Vorhaben. Möchtest du Kollegen einladen, navigiere zu Einstellungen > Mitglieder > Einladen. Ohne konfiguriertes SMTP (in der Compose auskommentiert) erhält der neue Nutzer keine E-Mail – übermittle den Einladungslink manuell. Die App funktioniert vollständig ohne SMTP; E-Mail-Versand ist optional.

Verifizieren: Öffne denselben Space in zwei verschiedenen Browsern (oder Browser + Inkognito-Fenster) mit zwei verschiedenen Konten. Tippe in Browser 1 einen Text in eine Seite – der Text muss in Browser 2 innerhalb weniger Sekunden ohne Reload erscheinen. Passiert das, ist der WebSocket-Kanal korrekt aktiv.

Schritt 6: Backup der Instanz einrichten

Eine vollständige Sicherung von Docmost besteht aus zwei Teilen, die sich gut automatisieren lassen.

Teil 1 – Datei-Uploads: Das Verzeichnis /volume1/docker/docmost/data enthält alle Bild- und Datei-Anhänge. Es reicht, diesen Ordner in deine bestehende NAS-Backup-Routine aufzunehmen (Hyper Backup, Restic o. ä.).

Teil 2 – PostgreSQL-Dump: Der Datenbankinhalt (Seiten, Spaces, User, Berechtigungen) liegt ausschließlich in PostgreSQL. Führe einen Dump wie folgt aus:

docker exec docmost-db pg_dump -U docmost docmost > /volume1/backup/docmost_$(date +%F).sql

Diesen Befehl kannst du im DSM-Aufgabenplaner als täglichen Cron-Job hinterlegen. Eine ausführlichere Anleitung zur Automatisierung von PostgreSQL-Backups findest du unter MySQL & PostgreSQL Backup automatisieren.

Redis-Daten (AOF-Dateien in /volume1/docker/docmost/redis) enthalten nur laufende Session-Informationen und sind kein Pflicht-Backup – nach einem Neustart bauen alle angemeldeten Nutzer ihre Sessions neu auf.

Verifizieren: Prüfe, ob der Dump erstellt wurde und Inhalt hat:

ls -lh /volume1/backup/docmost_*.sql
# Erwartete Ausgabe: mindestens einige Kilobyte, z. B. 48K docmost_2026-06-11.sql

Eine leere oder sehr kleine Datei deutet auf einen Verbindungsfehler hin – prüfe, ob der Container docmost-db läuft.

Troubleshooting / Typische Fehler

  • „Error: connect ECONNREFUSED" beim App-Start: Docmost kann die Datenbank nicht erreichen. Ursache: STARKES_DB_PASSWORT in DATABASE_URL und POSTGRES_PASSWORD stimmen nicht überein. Beide Werte müssen identisch sein. Container löschen, Compose korrigieren, Ordner db/ leeren, neu starten.
  • Echtzeit-Kollaboration funktioniert nicht (Änderungen nur nach Reload sichtbar): WebSocket-Header im Reverse Proxy fehlen. Unter Systemsteuerung > Anmeldeportal > Reverse Proxy > Benutzerdefinierte Header: Upgrade: $http_upgrade und Connection: upgrade eintragen.
  • PostgreSQL startet nicht / Permission denied: Das Volume-Verzeichnis /volume1/docker/docmost/db hat falsche Berechtigungen oder gehört einem anderen Prozess. Ordner leeren (rm -rf /volume1/docker/docmost/db/*) – PostgreSQL initialisiert sich beim nächsten Start selbst neu.
  • APP_SECRET nach erstem Start geändert: Alle Nutzer werden sofort ausgeloggt, JWT-Tokens sind ungültig. Den alten APP_SECRET wiederherstellen – er muss dauerhaft konstant bleiben. Daten bleiben erhalten.
  • Setup-Wizard erscheint nicht, sondern Login-Seite: Der erste Setup wurde bereits abgeschlossen. Navigiere direkt zu /setup – wenn Docmost dorthin weiterleitet, ist der Workspace bereits angelegt.
  • APP_URL auf HTTP statt HTTPS gesetzt: Einladungs-Links und OAuth-Callbacks zeigen auf HTTP, Browser blockiert Mixed Content. Wert in der Compose auf die echte HTTPS-URL ändern und Container neu starten.
  • Synology-Firewall blockiert Port 3199: Container läuft, Reverse Proxy gibt 502-Fehler. Unter DSM > Systemsteuerung > Sicherheit > Firewall eine Erlaubnisregel für Port 3199 anlegen.

Häufige Fragen

Wie generiere ich APP_SECRET ohne SSH?

Der einfachste Weg ist der SSH-Befehl openssl rand -hex 32 direkt auf dem NAS. Alternativ funktioniert derselbe Befehl auf jedem Linux- oder macOS-System sowie in WSL unter Windows. Verwende keine Online-Generatoren für diesen Schlüssel – er schützt alle Sessions und JWT-Tokens der Instanz.

Was kostet die Enterprise-Edition und was bietet sie zusätzlich?

Der Community-Kern ist dauerhaft kostenlos (AGPL-3.0) und für den internen Betrieb auf dem eigenen NAS vollständig ausreichend. Die Enterprise-Edition ergänzt SSO/SAML, LDAP/Active Directory-Integration, KI-Features, eine REST-API und granulare Seitenberechtigungen. Preise werden auf Anfrage unter docmost.com genannt.

Kann ich von Confluence oder Notion zu Docmost migrieren?

Notion-Exporte (HTML oder Markdown) können direkt über den Import-Dialog eingespielt werden. Confluence-Inhalte müssen zunächst als HTML oder Markdown exportiert werden. Das Standard-Importlimit liegt bei 200 MB, anpassbar über FILE_IMPORT_SIZE_LIMIT in der Compose.

Wie unterscheidet sich Docmost von BookStack und Outline?

BookStack strukturiert Inhalte hierarchisch als Regal > Buch > Kapitel > Seite – ideal für statische IT-Dokumentation, die einmal geschrieben und selten gemeinsam bearbeitet wird. Outline folgt dem Notion-Modell mit flacher Block-Struktur, ideal für schnelle Team-Notizen. Docmost passt am besten, wenn mehrere Personen gleichzeitig an Dokumenten arbeiten und Confluence-artige Spaces mit klarer Abteilungstrennung gefragt sind.

Wie update ich Docmost auf eine neue Version?

Im Container Manager das Projekt öffnen und „Aktualisieren" wählen – DSM zieht das neueste Image und startet die Container neu. Datenbankmigrationen laufen automatisch beim Start. Ein PostgreSQL-Dump vor dem Update ist dennoch empfehlenswert.

Funktioniert Docmost auch auf ARM-basierten Synology-NAS?

Ja. Das Image docmost/docmost:latest unterstützt sowohl linux/amd64 (x86-64) als auch linux/arm64 – es funktioniert damit auf allen aktuellen Synology-Modellen unabhängig von der CPU-Architektur.

Fazit

Docmost füllt eine echte Lücke im Self-Hosting-Bereich: Confluence-Konzepte (Spaces, verschachtelte Seiten, Echtzeit-Kollaboration) kombiniert mit modernem Stack und aktivem Open-Source-Projekt. Mit über 20.600 GitHub-Stars und einem monatlichen Release-Zyklus ist es 2026 produktionsreif. Für KMU, die Abteilungs-Wikis mit echter Datensouveränität betreiben wollen, ist es die stärkste Option – vorausgesetzt, mehrere Nutzer arbeiten tatsächlich gleichzeitig an Dokumenten. Wer eher statische Dokumentation braucht und eine Regal-Buch-Metapher bevorzugt, ist mit BookStack besser bedient; für Notion-Feeling auf dem eigenen NAS empfiehlt sich Outline.

Weiterführende Anleitungen und Quellen

Offizielle Quellen: Docmost-Dokumentation (Self-Hosting) · Docmost auf GitHub (docker-compose.yml) · Docmost auf Docker Hub · Environment Variables – offizielle Doku