Should I self-host Miro?
Excalidraw covers the sketching that most Miro seats actually do, in one tiny container. Worth it if solo or link-sharing files; live multi-cursor rooms need the extra room server and that's where the weekend goes.
Persistent boards with access control — vanilla Excalidraw saves .excalidraw files, not a board library
Miro's template/facilitation ecosystem
whiteboard sketching · diagrams · real-time multi-user boards · board library/templates
* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-05.
Runs comfortably on a Raspberry Pi.


None for the drawing app; know that collab rooms are a second project (excalidraw-room + storage)
# Excalidraw — the whiteboard (tested against Miro's job list). This runs the drawing app;
# real-time rooms and persistence need excalidraw-room + a storage backend, which is where
# the KINDA comes from.
services:
excalidraw:
image: excalidraw/excalidraw:latest
container_name: excalidraw
restart: unless-stopped
ports:
- "8087:80"
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:80 >/dev/null || exit 1"]
interval: 5s
timeout: 5s
retries: 24
start_period: 15s
Want a guided install instead? caniselfhostit.com/miro has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.
FULL TIMED LOG
# Timed setup log: Miro → excalidraw **Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10 **Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1 ## Timeline | Step | Time | |---|---| | Read upstream docs, draft compose with healthcheck | ~6 min | | **Boot: all services healthy in 12 s (measured, `compose up --wait`)** | — | | Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~6 min | | **Total: ~20 min** | | Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow — dispute anything that doesn't reproduce (CONTRIBUTING.md). ## What broke - None for the drawing app; know that collab rooms are a second project (excalidraw-room + storage) ## Verdict-relevant notes - Fastest boot in the index.