← Zurück zur Übersicht HedgeDoc mit Docker Compose: Eigene kollaborative Markdown-Notizen in 15 Minuten

HedgeDoc mit Docker Compose: Eigene kollaborative Markdown-Notizen in 15 Minuten

HedgeDoc mit Docker Compose: Eigene kollaborative Markdown-Notizen in 15 Minuten

Wer Markdown nicht nur lokal schreiben, sondern direkt im Browser gemeinsam bearbeiten will, landet schnell bei aufgeblasenen Wissensplattformen. HedgeDoc ist für diesen Job deutlich direkter: Link teilen, zusammen schreiben, Versionen behalten, Diagramme und Präsentationen aus Markdown rendern.

Stand 2. April 2026 ist das Projekt weiterhin ein sauberer Self-Hosting-Kandidat. Die offizielle Website beschreibt HedgeDoc als webbasierten, selbst gehosteten kollaborativen Markdown-Editor, und die aktuelle Docker-Doku zeigt ein kompaktes Compose-Setup mit PostgreSQL 17.7-alpine, dem App-Image quay.io/hedgedoc/hedgedoc:1.10.6 und Port 3000.

Screenshot der HedgeDoc-Website als Artikelbild

Was du am Ende hast

  • HedgeDoc lokal unter http://localhost:3000
  • Ein kleines Compose-Projekt mit App und PostgreSQL
  • Eine erste Notiz, die du per Link im Browser teilen kannst
  • Prüfschritte mit docker compose, docker compose logs und curl

Voraussetzungen

  • Docker Engine und docker compose sind installiert
  • Port 3000 ist frei
  • Du arbeitest in einem neuen Ordner und nicht zwischen alten Compose-Dateien

1. Arbeitsordner anlegen

Erst die saubere Sandbox, dann das Projekt:

mkdir hedgedoc-lab && cd hedgedoc-lab

2. Compose-Datei erstellen

Die offizielle Doku zeigt aktuell zwei Dienste: eine PostgreSQL-Datenbank und die HedgeDoc-App. Für einen lokalen Start reicht genau das.

hedgedoc-lab/compose.yaml:

services:
  database:
    image: postgres:17.7-alpine
    environment:
      POSTGRES_USER: hedgedoc
      POSTGRES_PASSWORD: password
      POSTGRES_DB: hedgedoc
    volumes:
      - database:/var/lib/postgresql/data
    restart: always

  app:
    image: quay.io/hedgedoc/hedgedoc:1.10.6
    environment:
      CMD_DB_URL: postgres://hedgedoc:password@database:5432/hedgedoc
      CMD_DOMAIN: localhost
      CMD_URL_ADDPORT: "true"
    volumes:
      - uploads:/hedgedoc/public/uploads
    ports:
      - "3000:3000"
    restart: always
    depends_on:
      - database

volumes:
  database:
  uploads:

Für den ersten lokalen Test ist das bewusst simpel gehalten. Wenn du HedgeDoc später öffentlich erreichbar machen willst, gehört ein Reverse Proxy mit HTTPS davor.

3. Stack starten

Jetzt ziehst du die Images und startest beide Container:

docker compose pull
docker compose up -d

Danach sollte HedgeDoc unter dieser Adresse antworten:

http://localhost:3000

4. Funktion prüfen

Bevor du irgendeinen Link verschickst, prüfe einmal, ob App und Datenbank sauber stehen:

docker compose ps
docker compose logs --tail=100 app
curl -I http://localhost:3000

Das sichtbare Ergebnis des Tutorials ist hier schon erreicht: Im Browser lädt die Oberfläche, und curl sollte einen erfolgreichen HTTP-Status zurückgeben.

5. Die erste Notiz anlegen

Öffne http://localhost:3000 im Browser. Beim ersten Besuch erzeugt HedgeDoc direkt eine neue Notizoberfläche. Genau das ist der Vorteil des Projekts: keine lange Admin-Strecke, sondern sofort ein Editor.

Probiere zum Testen diesen Inhalt:

# Team-Notiz

- Docker-Stack läuft
- HedgeDoc ist erreichbar
- Der Link kann direkt geteilt werden

```mermaid
graph TD
  A[Browser] --> B[HedgeDoc]
  B --> C[PostgreSQL]
```

Wenn du nun die URL aus dem Browser kopierst und in einem zweiten Fenster öffnest, siehst du sofort den kollaborativen Kern des Projekts.

6. Was dieses Setup praktisch macht

Die offizielle Produktseite nennt genau die Gründe, warum HedgeDoc als kleines Team- oder Homelab-Projekt funktioniert:

  • webbasiert statt App-Zwang
  • selbst gehostet statt Cloud-Abhängigkeit
  • kollaboratives Schreiben in Echtzeit
  • Diagramme, Präsentationen und Revisionen direkt aus Markdown

Für viele Leser ist das der deutlich nützlichere Mittelweg zwischen simplen Pastebins und schweren Wiki-Systemen.

7. Wichtige Kommandos für Betrieb und Updates

Für den Alltag brauchst du nur wenige Befehle:

docker compose logs -f app
docker compose pull
docker compose up -d
docker compose down

Deine Daten bleiben erhalten, weil PostgreSQL im Volume database liegt und Uploads im Volume uploads.

8. Was du als Nächstes absichern solltest

Für den lokalen Start genügt dieses Setup. Für produktiven Betrieb solltest du aber direkt mitdenken:

  • das Standardpasswort in hedgedoc-lab/compose.yaml ändern
  • HedgeDoc nicht ungeschützt offen ins Internet stellen
  • HTTPS per Reverse Proxy ergänzen
  • Datenbank- und Upload-Volumes regelmäßig sichern

Fazit

Wenn gerade kein sauber verifizierbares News-Thema trägt, sollte der Fallback wenigstens echten Nutzwert haben. Genau das leistet HedgeDoc: ein kleines Compose-Projekt, ein sofort sichtbares Ergebnis im Browser und ein Tool, das man real benutzt statt nur einmal startet.

Für 2. April 2026 ist das ein deutlich stärkerer Artikel als noch ein abstrakter Docker-Grundlagenpost. Du hast nach wenigen Minuten eine laufende kollaborative Markdown-Instanz, die sich lokal testen und später sauber erweitern lässt.

Quellen