
Cloud-basierte Dokumentationstools wie Notion oder Confluence speichern deine sensiblen Daten auf Drittanbieter-Servern, oft außerhalb der EU. Die Lösung? Docmost selbst hosten – eine Open-Source-Plattform, die dir volle Kontrolle gibt. In dieser Anleitung richten wir Docmost mit Docker Compose und Traefik ein.
Docmost ist eine moderne, Open-Source-Dokumentations- und Wiki-Plattform. Betrachte es als selbst gehostete Alternative zu Notion oder Confluence. Es bietet:
Datensouveränität: Deine Dokumentation enthält sensible Geschäftsinformationen. Selbst-Hosting stellt sicher, dass diese Daten niemals deine Infrastruktur verlassen.
DSGVO-Konformität: Durch das Hosting in Deutschland oder der EU bleibst du vollständig konform mit den Datenschutzvorschriften.
Kein Vendor Lock-in: Du besitzt deine Daten und kannst sie jederzeit migrieren oder sichern.
Kosteneinsparungen: Keine Preise pro Benutzer. Hoste unbegrenzt viele Benutzer auf deinem eigenen Server.
Bevor wir beginnen, stelle sicher, dass du Folgendes hast:
Für dieses Tutorial verwenden wir einen Hetzner Cloud Server, aber jeder VPS-Anbieter funktioniert.
Unser Setup besteht aus vier Hauptkomponenten:
So arbeiten sie zusammen:
Internet → Traefik (SSL) → Docmost → PostgreSQL/Redis
Traefik bezieht automatisch Let's Encrypt SSL-Zertifikate, sodass deine Dokumentation immer über HTTPS bereitgestellt wird.
Verbinde dich zuerst per SSH mit deinem Server und erstelle ein Verzeichnis für Docmost:
mkdir -p ~/docmost
cd ~/docmost
Traefik benötigt ein gemeinsames Netzwerk, um mit Docmost zu kommunizieren:
docker network create web
Erstelle ein Verzeichnis für Traefik und seine Konfiguration:
mkdir -p ~/traefik
cd ~/traefik
Erstelle die Traefik-Konfigurationsdatei traefik.yml:
entryPoints:
web:
address: ':80'
http:
redirections:
entryPoint:
to: websecure
scheme: https
websecure:
address: ':443'
certificatesResolvers:
letsencrypt:
acme:
email: deine-email@example.com
storage: /letsencrypt/acme.json
httpChallenge:
entryPoint: web
providers:
docker:
exposedByDefault: false
network: web
Erstelle die Traefik docker-compose.yml:
services:
traefik:
image: traefik:v3.6
container_name: traefik
restart: always
ports:
- '80:80'
- '443:443'
volumes:
- ./traefik.yml:/etc/traefik/traefik.yml:ro
- ./letsencrypt:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- web
networks:
web:
external: true
Erstelle die Let's Encrypt Speicherdatei:
mkdir -p letsencrypt
touch letsencrypt/acme.json
chmod 600 letsencrypt/acme.json
Starte Traefik:
docker compose up -d
Navigiere zurück zum Docmost-Verzeichnis:
cd ~/docmost
Generiere einen sicheren Secret-Key für deine Anwendung:
openssl rand -hex 32
Erstelle die docker-compose.yml für Docmost:
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'https://docs.deine-domain.de'
APP_SECRET: 'ERSETZE_MIT_LANGEM_SECRET'
DATABASE_URL: 'postgresql://docmost:STARKES_DB_PASSWORT@db:5432/docmost?schema=public'
REDIS_URL: 'redis://redis:6379'
restart: unless-stopped
volumes:
- docmost:/app/data/storage
networks:
- web
- internal
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.docmost.rule=Host(`docs.deine-domain.de`)'
- 'traefik.http.routers.docmost.entrypoints=websecure'
- 'traefik.http.routers.docmost.tls.certresolver=letsencrypt'
- 'traefik.http.services.docmost.loadbalancer.server.port=3000'
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STARKES_DB_PASSWORT
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql/data
networks:
- internal
redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- redis_data:/data
networks:
- internal
volumes:
docmost:
db_data:
redis_data:
networks:
web:
external: true
internal:
Ersetze ERSETZE_MIT_LANGEM_SECRET mit dem Secret-Key, den du mit openssl rand -hex 32 generiert hast, und STARKES_DB_PASSWORT mit einem sicheren Datenbankpasswort (du kannst eines auf die gleiche Weise generieren).
Bevor du Docmost startest, stelle sicher, dass dein DNS konfiguriert ist:
docs.deine-domain.de auf die IP-Adresse deines Servers zeigtStarte alle Dienste:
docker compose up -d
Prüfe, ob alles läuft:
docker compose ps
Du solltest alle drei Container (docmost, db, redis) im Status "running" sehen.
Öffne https://docs.deine-domain.de in deinem Browser. Du wirst vom Docmost-Einrichtungsassistenten begrüßt:
Um auf die neueste Version zu aktualisieren:
cd ~/docmost
docker compose pull
docker compose up -d
Während dir dieses Tutorial volle Kontrolle gibt, erfordert das manuelle Einrichten von Docmost:
Was wäre, wenn all das automatisiert werden könnte?
Mit lowcloud kannst du Docmost – oder jede Anwendung mit einer Docker Compose Datei – mit nur wenigen Klicks deployen:
docker-compose.yml einlowcloud provisioniert automatisch deine VM, richtet den Reverse Proxy mit SSL ein und hält alles aktuell. Ob Docmost, n8n oder dein eigener Stack – wenn es mit Docker Compose läuft, kann lowcloud es deployen. Deine Daten bleiben auf deinem eigenen Server in Deutschland, vollständig DSGVO-konform.
Das Ergebnis: Alle Vorteile des Self-Hostings ohne den DevOps-Overhead.
Bereit, deinen Deployment-Workflow zu vereinfachen? Starte jetzt mit lowcloud und deploye Docmost in unter 10 Minuten.
Weitere Informationen zu Docmost findest du in der offiziellen Dokumentation. Fragen zum Deployment? Das lowcloud-Team hilft gerne weiter.