Deploy Excaliself

Self-hosted Excalidraw+ alternative: live collab, comments, folders, SSO, MCP

Deploy Excaliself

/var/lib/postgresql/data

Just deployed

Deploy and Host Excaliself on Railway

Excaliself is a self-hosted alternative to Excalidraw+ for teams, built on the Excalidraw canvas. It adds live collaboration, comments pinned to shapes, a shared team space, folders, search, a team library, single sign-on, and an MCP server, so AI clients like Claude can find, read, and draw diagrams. Every drawing, image, and account is stored in your own Postgres database, not in a third-party cloud.

About Hosting Excaliself

Excaliself is one Node.js app and one PostgreSQL database. This template runs the prebuilt image ghcr.io/maciekzygmunt/excaliself:latest next to a Railway Postgres service, and connects them over the private network. It generates the auth secret, sets the public URL from the service's Railway domain, and checks /api/health before a deploy goes live. The app applies database migrations when it starts. After the deploy, open the domain to create the admin account, then invite your team from Settings. To upgrade, click the image update button in the service settings.

Common Use Cases

  • A private whiteboard for engineering teams: architecture diagrams, flowcharts, and system sketches
  • Live design reviews and workshops, with shared links for guests who have no account
  • Async reviews: comment threads pinned to the shapes they are about, with replies and resolve
  • Diagrams that your AI client can search, read, draw, and export over MCP
  • A self-hosted Excalidraw+ alternative that keeps company diagrams on your own infrastructure

Dependencies for Excaliself Hosting

  • PostgreSQL (included in this template)
  • A public HTTPS domain (Railway generates one)

Deployment Dependencies

Implementation Details

The template sets these variables on the excaliself service:

DATABASE_URL=${{Postgres.DATABASE_URL}}
BETTER_AUTH_SECRET=${{secret(32)}}
BASE_URL=https://${{RAILWAY_PUBLIC_DOMAIN}}
PORT=3000

Live collaboration uses WebSockets under /ws/. Railway's proxy passes them through with no extra setup.

Why Deploy Excaliself 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 Excaliself 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.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
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