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
| Item | Value |
|---|---|
| Image | docker.io/jgraph/drawio:31.4.2 |
| Namespace | default |
| Replicas | 1 |
| Service type | ClusterIP, port 8080 |
| Storage | None — stateless |
| Ingress | Traefik IngressRoute, TLS via shared local-example-com-tls cert |
| GitOps | Managed 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(withdefault-headersmiddleware)www.drawio.prod-k3s.iot-proxmox.net
Resources
| Requests | Limits | |
|---|---|---|
| CPU | 50m | 300m |
| Memory | 128Mi | 384Mi |
This post is licensed under CC BY 4.0 by the author.