Self-Host Excalidraw on Kubernetes
Excalidraw is a whiteboard with a hand drawn look, used for diagrams and quick architecture sketches. It is the lightest app in the Edka catalogue to run: no database, no volume, and a 64Mi memory request. Edka deploys the official container on a cluster in your own cloud account.
Excalidraw is available on the Free plan.
What Excalidraw Needs to Run
Nothing beyond the pod. The excalidraw/excalidraw container serves a static web client, so there is no database to provision and no persistent volume to size.
That has one consequence worth knowing before you deploy: the deployment is stateless, so drawings live in the browser, not on your cluster. Scenes persist in local storage for whoever drew them, and are shared by exporting a file or a link. Restarting the pod loses nothing, because the pod was never holding anything.
If you need shared real-time sessions where several people draw on one canvas, that requires the separate Excalidraw collaboration server, which this deployment does not include. For a personal or team scratchpad where each person keeps their own boards, the web client on its own is the whole product.
Resource Requirements
| Setting | CPU | Memory |
|---|---|---|
| Request | 50m | 64Mi |
| Limit | 250m | 256Mi |
A 64Mi request means Excalidraw fits on any node you already run. It is a reasonable first workload for a new cluster. See the Hetzner instance types table.
What Edka Provisions
- Excalidraw web client. The official
excalidraw/excalidrawcontainer via Edka’s Helm chart. - Dedicated namespace. Created and labeled for you, defaulting to
excalidraw. - Internal service. A ClusterIP Service on port 80 at
http://<release>.<namespace>.svc.cluster.local.
Configuration Options
- Resources. CPU and memory requests and limits.
- Placement. Pin pods to a node pool, with automatic tolerations for that pool’s taints.
- Access. Publish the web client through an Envoy Gateway traffic class on your own hostname, reachable over HTTPS.
- Auto-updates. Automatic chart and image updates with a policy of patch, minor, major, all, or a custom tag pattern, checked every 5 minutes up to daily.
Deploy Excalidraw
- Click “Deploy Excalidraw” below.
- Pick a namespace and adjust resources if needed.
- Optionally enable Gateway access and set a hostname.
- Deploy. The whiteboard runs on your cluster in minutes.
- Open the internal service, or your external URL if access is enabled.
Deploy Excalidraw
Excalidraw
Productivity
FreeCategory
Collaboration
Run the Excalidraw whiteboard on your own Kubernetes cluster. A stateless web client with a 64Mi memory request and no database, deployed in one click.
Get started