HedgeDoc on Kubernetes

What I’m building

HedgeDoc (real-time collaborative markdown) with a local Docker Compose stack and a Kubernetes (K8s) path for the homelab: database, storage, secrets, and ingress. The K8s manifests live under deploy/k8s/ in the hedgedoc project folder.

Why HedgeDoc

I wanted personal notes that are not locked to a vendor, run on my homelab, and teach the full stack: database persistence, session secrets, reverse proxy, and the gap between “works in Compose” and “works on a cluster.” The plan is shared notes and planning with collaborators, on infrastructure I control.

What it covers

  • Compose + Caddy setup for local use
  • K8s manifests with a single database URL secret (no fragile env var interpolation)
  • README with Kind/minikube flow and a note on Cloudflare Tunnel for always-on hosting

Repo

Source lives in the sandbox monorepo under projects/hedgedoc/. K8s files: projects/hedgedoc/deploy/k8s/.

The production rollout is documented in HedgeDoc Team Rollout. This repo is the homelab version: same ideas, smaller scale, good place to break things safely.