Zum Inhalt

HedgeDoc

Was es tut

HedgeDoc ist ein Editor für gemeinsame Notizen im Browser: Mehrere Personen schreiben gleichzeitig an einem Text in Markdown, etwa an einem Protokoll oder einer Planung. Notizen lassen sich per Link teilen, auch mit Personen ohne Konto. Vorerst nutzen es nur die Admins.

Wo es liegt

Adresse https://md.garage-lab.de
Host werner
Stack-Datei syslet/werner/stack-hedgedoc.cue
Upstream hedgedoc.org, Doku

Verwaltet über

Repo. Container, Einstellungen und Anbindung an Authentik stehen in der Stack-Datei bzw. in Terraform. In HedgeDoc selbst gibt es nichts einzustellen; die Notizen verwalten die Nutzerinnen und Nutzer selbst.

Aufbau

flowchart LR
    caddy["Caddy"]

    subgraph stack ["Netzwerk hedgedoc (intern)"]
        server["hedgedoc-server"]
        db["hedgedoc-postgres"]
        exp["hedgedoc-postgres-exporter"]
    end

    uploads[("hedgedoc-server-uploads")]
    data[("hedgedoc-postgres-data")]
    dump[("hedgedoc-postgres-backups")]

    caddy -->|md.garage-lab.de| server
    server --> db
    exp --> db
    server --- uploads
    db --- data
    db --- dump
  • hedgedoc-server ist die App; hochgeladene Bilder liegen im Volume hedgedoc-server-uploads.
  • hedgedoc-postgres ist die Datenbank mit allen Notizen.
  • hedgedoc-postgres-exporter liefert Messwerte der Datenbank für das Monitoring; er hängt zusätzlich am Netzwerk caddy, weil ein Container nur an einem internen Netzwerk keinen Port auf dem Host veröffentlichen kann, über den Prometheus ihn abfragt.

Die Stack-Datei ist in Eine Stack-Datei lesen Block für Block erklärt.

Login / SSO

Angemeldet wird nur über Authentik per OIDC (application_hedgedoc.tf); eine eigene Registrierung mit E-Mail und Passwort ist abgeschaltet. Zugang hat, wer in der Gruppe „HedgeDoc Access“ ist; vorerst sind das nur die Admins, und neue Mitglieder kommen nicht automatisch hinein (siehe Gruppenmodell in Authentik). HedgeDoc kann keine Rollen aus dem Login übernehmen und bekommt deshalb keine Gruppen.

Backup

Gesichert werden die hochgeladenen Bilder und ein Dump der Datenbank (Block backup: in der Stack-Datei, siehe Backup). Beim Zurückholen kommen erst die Dateien zurück, danach wird der Dump in die Datenbank eingespielt (siehe App aus dem Backup wiederherstellen).

Updates

Die Version steht in image: hedgedoc: tag: oben in der Stack-Datei. Vor jedem Update die Release Notes von HedgeDoc lesen (siehe Image-Version anheben).

Besonderheiten / bekannte Probleme

  • Hinter Caddy: CMD_DOMAIN und CMD_PROTOCOL_USESSL: "true" in der Stack-Datei sorgen dafür, dass HedgeDoc Links mit der öffentlichen Adresse und https erzeugt, obwohl Caddy per HTTP weiterreicht (siehe Ingress mit Caddy).

Weiterlesen