Post

draw.io

draw.io

draw.io

Purpose

Self-hosted draw.io instance for diagramming — used for the architecture diagrams that document this homelab’s own Kubernetes deployments.

Deployment

ItemValue
Imagedocker.io/jgraph/drawio:31.4.2
Namespacedefault
Replicas1
Service typeClusterIP, port 8080
StorageNone — stateless
IngressTraefik IngressRoute, TLS via shared local-example-com-tls cert
GitOpsManaged by ArgoCD (argocd/apps/drawio.yaml)

draw.io is stateless in this deployment: diagrams are edited and saved client-side (to the browser, or an external store like Google Drive/GitHub), not persisted server-side, so no PVC is mounted.

GitOps

The ArgoCD Application tracks the k3s branch of this app’s own Gitea repo (gitea.prod.iot-proxmox.net/bjones/Drawio) with prune: true and selfHeal: true — any drift from what’s committed to that branch is automatically reverted, and the only supported way to change the deployment is to push to k3s.

Ingress

Routed via Traefik IngressRoute at:

  • drawio.prod-k3s.iot-proxmox.net (with default-headers middleware)
  • www.drawio.prod-k3s.iot-proxmox.net

Resources

 RequestsLimits
CPU50m300m
Memory128Mi384Mi
This post is licensed under CC BY 4.0 by the author.