Zum Hauptinhalt springen
  1. Beiträge/
  2. Kleines Homelab/
  3. k3s-prod: Kubernetes Cluster Konfiguration und Anwendungsbereitstellung/

HedgeDoc

Inhaltsverzeichnis

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
#

Status
Uptime
Ping
Avg Response Time
Certificate Expiration
Response Time

Deployment
#

Argo 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 auf false gesetzt, 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).
Per E-Mail antworten
Fabrice Kirchner
Autor
Fabrice Kirchner
stolzer Vater, Nerd, Admin