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

SettingCPUMemory
Request50m64Mi
Limit250m256Mi

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/excalidraw container 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

  1. Click “Deploy Excalidraw” below.
  2. Pick a namespace and adjust resources if needed.
  3. Optionally enable Gateway access and set a hostname.
  4. Deploy. The whiteboard runs on your cluster in minutes.
  5. Open the internal service, or your external URL if access is enabled.

Deploy Excalidraw
icon related to Excalidraw

Excalidraw

Productivity

Free

Category

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