Docmost auf einem VPS selbst hosten (Anleitung 2026)
Docmost ist eine quelloffene Plattform für kollaborative Dokumentation und Wikis. Das Self-Hosting auf einem VPS gibt dir vollständige Datenkontrolle, eine eigene Domain und keine Pro-Seat-Kosten. Diese Anleitung deckt den gesamten Einrichtungsprozess ab — von einem frischen Ubuntu-VPS bis zu einer laufenden Docmost-Instanz mit SSL und Nginx.
Voraussetzungen
Vor dem Start benötigt man:
- Einen VPS mit Ubuntu 22.04 oder 24.04 (mindestens 1 vCPU, 2 GB RAM empfohlen)
- Eine Domain oder Subdomain, die auf die VPS-IP zeigt (z. B.
docs.deinedomain.de) - Root- oder Sudo-Zugang zum Server
- Docker und Docker Compose installiert
Empfohlene VPS-Anbieter:
- Hetzner Cloud — 4,15 €/Monat, 2 vCPU, 4 GB RAM (bestes Preis-Leistungs-Verhältnis)
- Contabo VPS — 5,99 €/Monat, 4 vCPU, 8 GB RAM, 200 GB NVMe
- DigitalOcean — 6 $/Monat, einsteigerfreundlich
Schritt 1: VPS einrichten
Neuen Ubuntu-22.04-VPS starten und als Root einloggen:
ssh root@server-ip
Nicht-Root-Benutzer mit Sudo-Rechten anlegen (empfohlen):
adduser deploy
usermod -aG sudo deploy
Schritt 2: Docker und Docker Compose installieren
# System aktualisieren
apt update && apt upgrade -y
# Docker installieren
curl -fsSL https://get.docker.com | sh
# Benutzer zur Docker-Gruppe hinzufügen
usermod -aG docker deploy
# Installation prüfen
docker --version
docker compose version
Nach der Gruppenänderung aus- und wieder einloggen.
Schritt 3: Docmost-Verzeichnis anlegen
mkdir -p /opt/docmost
cd /opt/docmost
Schritt 4: Docker-Compose-Datei erstellen
/opt/docmost/docker-compose.yml anlegen:
version: '3'
services:
docmost:
image: docmost/docmost:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://docmost:password@db:5432/docmost
REDIS_URL: redis://redis:6379
depends_on:
- db
- redis
restart: unless-stopped
db:
image: postgres:16
environment:
POSTGRES_USER: docmost
POSTGRES_PASSWORD: password
POSTGRES_DB: docmost
volumes:
- pg_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
pg_data:
redis_data:
Sicherheitshinweis:
passwordvor dem Deployment durch ein starkes, zufällig generiertes Passwort ersetzen.
Schritt 5: Docmost starten
cd /opt/docmost
docker compose up -d
Prüfen, ob alle Container laufen:
docker compose ps
docmost, db und redis sollten alle den Status running haben. Bei Fehlern Logs prüfen:
docker compose logs docmost
Schritt 6: Nginx installieren und konfigurieren
apt install nginx -y
/etc/nginx/sites-available/docmost anlegen:
server {
listen 80;
server_name docs.deinedomain.de;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name docs.deinedomain.de;
ssl_certificate /etc/letsencrypt/live/docs.deinedomain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docs.deinedomain.de/privkey.pem;
client_max_body_size 100M;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $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 Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
Site aktivieren:
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Schritt 7: SSL-Zertifikat einrichten
apt install certbot python3-certbot-nginx -y
certbot --nginx -d docs.deinedomain.de
Den Anweisungen folgen. Certbot aktualisiert die Nginx-Konfiguration automatisch und richtet die automatische Erneuerung ein.
Schritt 8: Firewall konfigurieren
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable
Port 3000 nicht direkt freigeben — der gesamte Traffic soll über Nginx laufen.
Schritt 9: Erster Login und Workspace-Einrichtung
https://docs.deinedomain.deim Browser öffnen- Beim ersten Aufruf erscheint der Docmost-Setup-Wizard
- Admin-Konto anlegen (E-Mail + Passwort)
- Workspace benennen
- Ersten Space erstellen (z. B. „Engineering”, „Produkt”, „HR”)
- Teammitglieder über das Einstellungsmenü einladen
Docmost aktualisieren
Neuestes Image holen und neu starten:
cd /opt/docmost
docker compose pull
docker compose up -d
Backup-Strategie
PostgreSQL-Daten regelmäßig sichern:
docker exec docmost-db-1 pg_dump -U docmost docmost > backup_$(date +%Y%m%d).sql
Zusätzlich das Docker-Volume unter /var/lib/docker/volumes/docmost_pg_data sichern.
Fehlerbehebung
| Problem | Lösung |
|---|---|
| Container starten nicht | docker compose logs auf Fehler prüfen |
| 502 Bad Gateway | Docmost initialisiert sich noch — 30 Sekunden warten |
| WebSocket-Fehler | Upgrade- und Connection-Header in Nginx prüfen |
| DB-Verbindung verweigert | DATABASE_URL mit Postgres-Container-Zugangsdaten abgleichen |
Nächste Schritte
- SMTP in den Docmost-Einstellungen konfigurieren für E-Mail-Benachrichtigungen
- OIDC/SSO einrichten, wenn das Team einen Identity Provider nutzt
- Automatische Docker-Volume-Snapshots beim VPS-Anbieter aktivieren
VPS-Anbieter im Vergleich: selfhostvps.com/en/best/.