HedgeDoc #
HedgeDoc ist ein kollaborativer Markdown-Editor, der es mehreren Benutzern ermöglicht, gleichzeitig an Dokumenten zu arbeiten. Er bietet eine einfache und intuitive Oberfläche für die Erstellung und Bearbeitung von Markdown-Inhalten.
Status #
Deployment #
Quelle #
Die Anwendung wird als generisches app-template Helm-Chart von BJW-S Labs bereitgestellt.
Das Projekt basiert auf der offiziellen HedgeDoc-Website. Das Docker-Image stammt von quay.io/hedgedoc/hedgedoc. PostgreSQL: Offizielles Docker Image
Dokumentation #
Die offizielle Dokumentation von HedgeDoc ist unter docs.hedgedoc.org zu finden.
Funktion #
HedgeDoc dient als Plattform für die kollaborative Erstellung von Notizen, Dokumentationen und Präsentationen im Markdown-Format. Es ist ideal für Meetings, Brainstorming-Sitzungen oder das gemeinsame Verfassen von Texten. Die fertigen Dokumente können einfach geteilt und exportiert werden.
Lokale Anpassungen #
Die Konfiguration erfolgt über Umgebungsvariablen in der values.yaml-Datei.
Wichtige Umgebungsvariablen #
CMD_DB_URL: Die Verbindungs-URL zur PostgreSQL-Datenbank.CMD_DOMAIN: Die öffentliche Domain der Anwendung.CMD_OAUTH2_*: Konfiguriert die Authentifizierung über Authentik (OIDC), um Single Sign-On zu ermöglichen.CMD_ALLOW_ANONYMOUS: Ist auffalsegesetzt, sodass nur authentifizierte Benutzer Dokumente erstellen und bearbeiten können.
Wichtige Einstellungen #
- Ingress: Der Zugriff auf die Weboberfläche wird über einen Ingress mit einem Hostnamen ermöglicht.
- Authentifizierung: Die Benutzeranmeldung erfolgt ausschließlich über Authentik (SSO). Eine lokale Registrierung ist deaktiviert.
- Datenbank: Eine PostgreSQL-Datenbank läuft als Sidecar-Container.
- Speicher: Sowohl die hochgeladenen Dateien als auch die Datenbank werden persistent auf einem HostPath-Volume gespeichert.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/hedgedoc-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/hedgedoc | kubectl apply -n hedgedoc -f -
Abhängigkeiten #
- Ein laufender Kubernetes-Cluster.
- Ein Ingress-Controller (z.B. Traefik) für den externen Zugriff.
- Eine Zertifikatsmanagement-Lösung (z.B. cert-manager) zur Bereitstellung von TLS-Zertifikaten.
- Ein NFS-Server für persistente Speicherung.
- Ein LDAP-Server für die Benutzerauthentifizierung (optional).
- Ein OAuth2-Anbieter (optional).