Excalidraw is a virtual whiteboard tool for sketching diagrams, wireframes, and collaborative visual thinking — self-hosting gives you a private instance without relying on the public hosted version.
What Excalidraw Is Good For
- Quick diagrams and system sketches
- Collaborative brainstorming sessions
- Wireframing and visual planning
Prerequisites
- Docker installed
Step 1 — Run the Excalidraw Frontend
docker run -d \
--name excalidraw \
--restart unless-stopped \
-p 8080:80 \
excalidraw/excalidraw:latest
Step 2 — Access the Basic Interface
http://YOUR_SERVER_IP:8080
This basic setup gives you a private instance of the drawing tool itself — for real-time collaboration between multiple users, an additional room/collaboration server component is needed.
Step 3 — Add the Collaboration Server (For Real-Time Multi-User Editing)
Excalidraw's collaboration feature requires a separate WebSocket-based room server component, run alongside the main frontend — consult the project's self-hosting documentation for the current room server setup, since this involves an additional container and configuration linking the two components.
Step 4 — Add HTTPS
See How to Install Nginx Proxy Manager with Docker — particularly important for the collaboration feature, since WebSocket connections (see How to Configure Nginx for WebSocket Proxying) need proper proxy configuration.
Using Excalidraw for Diagrams
The hand-drawn aesthetic style makes it well-suited for quick, informal sketches during planning discussions — less suited for pixel-precise technical diagrams compared to more structured diagramming tools, but valuable for its speed and collaborative ease.
Saving and Exporting Work
Excalidraw supports exporting drawings as PNG, SVG, or its own portable JSON format — useful for saving important diagrams outside the browser session, or embedding exported images in documentation.
Local-First Design Philosophy
By default, Excalidraw works entirely client-side (in the browser), with data only persisted if you explicitly save/export or use the collaboration feature — understand this before assuming your work is automatically saved server-side.
Integrating with Documentation Tools
Several documentation/wiki platforms (including some covered elsewhere in this Knowledge Base) support embedding Excalidraw diagrams directly — check whether your specific documentation tool has this integration if you want diagrams embedded alongside written docs.
Resource Requirements
Excalidraw itself is lightweight (mostly a client-side JavaScript application) — a modest VPS handles it comfortably even with several concurrent collaborative sessions.
Common Errors
Real-time collaboration doesn't work despite the frontend loading — verify the separate collaboration/room server component is actually running and correctly connected, since basic frontend deployment alone doesn't include this feature.
Continue Reading
- How to Configure Nginx for WebSocket Proxying
- How to Install Nginx Proxy Manager with Docker
- How to Install Outline (Self-Hosted Wiki/Knowledge Base)
Browse more articles in Popular Self-Hosted Applications.