Railway

Deploy Excalidraw | (Just Updated) Whiteboard Whose Collab Server Is Actually Used

Whiteboard whose live collaboration runs on your server, not Excalidraw's

Deploy Excalidraw | (Just Updated) Whiteboard Whose Collab Server Is Actually Used

Just deployed

Deploy and Host Excalidraw on Railway

Excalidraw is the open-source virtual whiteboard: hand-drawn-style diagrams, wireframes and sketches in the browser, with shapes, arrows, freehand drawing, images, libraries and real-time collaboration. There is no account, no tracking and no paywall — the whole editor is a static app you can host on your own domain.

This template deploys Excalidraw with the collaboration server it actually uses. Excalidraw's frontend is a Vite build, so the collaboration server address is substituted into the JavaScript bundle at build time — an environment variable set on the running container changes nothing. Templates that deploy the editor next to an excalidraw-room service and wire them with a variable therefore ship a bundle that still talks to Excalidraw's own public server at oss-collab.excalidraw.com, while the deployer pays for a room service that receives no traffic. This template rewrites the built bundle at boot, verifies the rewrite, and refuses to start if a single reference to the public server survives.

About Hosting Excalidraw

Two services deploy together. The editor is a small nginx image serving the prebuilt Excalidraw app; its entrypoint restores a pristine copy of the bundle on every boot, rewrites the baked collaboration URL to this deployment's own room service, and rewrites nginx's listener to the port the platform injects. The room service is excalidraw-room, the official Socket.IO relay that forwards end-to-end-encrypted scene updates between the people in a session.

Neither service needs a database or a volume: Excalidraw keeps your scene in the browser's own local storage, and the room server only relays encrypted messages it cannot read. Both images are pinned by digest rather than tracking a moving tag, so a redeploy gives you the build you tested.

Why Deploy Excalidraw on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Excalidraw on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Excalidraw in particular benefits: both services get generated HTTPS domains automatically, and each references the other's domain through the platform's own variables, so the editor and its collaboration relay find each other with nothing to configure by hand. Websockets are supported at the edge, which is what real-time collaboration needs.

Common Use Cases

  • A private whiteboard for architecture diagrams and system sketches on your own domain.
  • Real-time collaborative drawing for a team, with the session relayed by your own server.
  • Workshops, interviews and design reviews where a third-party whiteboard is not acceptable.
  • Embedding a self-hosted diagram editor beside your internal tools.

Dependencies for Excalidraw

  • excalidraw-room, the official Socket.IO collaboration relay, deployed by this template.
  • No database, no object storage and no volume — scenes live in the browser.

Deployment Dependencies

After deploying

Open the editor's generated domain, draw something, then press Live collaboration and share the link. Everyone who opens it joins a session relayed by your own excalidraw-room service — the scene is encrypted in the browser, so the server never sees the drawing.

Two upstream limits are worth knowing, and they apply to every self-hosted Excalidraw: saving a collaborative scene to the cloud uses Excalidraw's Firebase project, and Export to link uploads to json.excalidraw.com. Local files, images and browser storage are entirely yours.


Template Content

More templates in this category

View Template
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
42
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
52