Zum Inhalt springen
DDocsello
Suchen…Ctrl K

Installation

Docsello mit Docker Compose auf dem eigenen Server betreiben – mit Caddy oder hinter einem vorhandenen nginx.

Docsello läuft als kleiner Docker-Compose-Stack. Die selbst gehostete Ausgabe hat alle Funktionen freigeschaltet.

Dienst Aufgabe
postgres Datenbank (Postgres 17) – Inhalte, Verlauf, Benutzer
migrate Bringt beim Start die Datenbank auf den neuesten Stand und beendet sich dann
web Verwaltung (/admin), API, Anmeldung, geschützte Seiten und Vorschauen
worker Generiert die statischen Websites, verarbeitet Bilder und nimmt Screenshots auf
caddy (optional) HTTPS und Auslieferung der statischen Seiten direkt von der Festplatte

Öffentliche Seiten liefert der Webserver (Caddy oder nginx) direkt als Dateien aus – die Anwendung wird nur für Verwaltung, API, Anmeldung, geschützte Seiten und Vorschauen gefragt.

Voraussetzungen

  • Ein Linux-Server mit Docker Engine und dem Compose-Plugin. 2 GB RAM reichen für den Anfang, 4 GB, wenn du viele Screenshots aufnimmst.
  • Eine Domain, deren DNS du verwalten kannst.
  • Für die Caddy-Variante: Ports 80 und 443 aus dem Internet erreichbar (Let's Encrypt).

Zwei Varianten

Der Standard: Caddy holt die Zertifikate selbst – auch für Workspace-Subdomains und eigene Domains, jeweils beim ersten Aufruf („on demand“). Ein Wildcard-Zertifikat ist nicht nötig.

DNS für APP_URL=https://app.docs.example.com und ROOT_DOMAIN=docs.example.com:

Eintrag Zeigt auf
app.docs.example.com A/AAAA deinen Server
*.docs.example.com A/AAAA (Wildcard) deinen Server
cp .env.example .env && nano .env     # siehe „Konfiguration“
docker compose up -d
docker compose ps                     # postgres, web, worker, caddy healthy; migrate mit 0 beendet

Ausführlich: docs/SELF_HOSTING.md im Docsello-Repository.

Für Server, auf denen schon ein nginx mit Let's-Encrypt-Zertifikaten läuft: Docsello lauscht nur auf 127.0.0.1:4100, nginx macht HTTPS und liefert die statischen Seiten direkt aus dem Speicherordner aus.

# .env
COMPOSE_FILE=docker-compose.yml:deploy/docker-compose.nginx.yml
DOCSELLO_DATA=/mnt/storage/docsello/data
docker compose up -d --build
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:4100/api/health   # 200

Fertige nginx-Konfigurationen liegen unter deploy/nginx/. Ausführlich, Schritt für Schritt: docs/SERVER_INSTALL.md im Docsello-Repository.

Die Images werden aus dem Dockerfile gebaut (docker compose up -d --build) oder von ghcr.io/ceddini/docsello bzw. ghcr.io/ceddini/docsello-worker (mit Chromium für Screenshots) geladen.

Erstes Konto

Öffne nach dem ersten Start https://<deine-app-adresse>/auth/signup und registriere dich. Das erste Konto wird Betreiber (Super-Admin) der Installation und legt den ersten Workspace an. Danach ist die Registrierung geschlossen: Alle weiteren Personen kommen per Einladung oder Single Sign-on.

Danach

  1. Startseite → Domains: die Domain der Dokumentation hinzufügen und Prüfen – siehe Domains.
  2. Einstellungen: optional einen Anmelde-Anbieter einrichten.
  3. API & Tokens: einen Token für die CI anlegen, siehe Docs aus Git.
  4. Backups einrichten.
War diese Seite hilfreich?Aktualisiert am 3. Oktober 2026