Back to Apps
Excalidraw

Deploy Excalidraw on Your Own Server

Virtual whiteboard for sketching hand-drawn like diagrams or normal ones. Collaborative and end-to-end encrypted.

πŸ“¦ Other

Want to deploy Excalidraw on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Excalidraw?

Excalidraw is a virtual whiteboard for sketching hand-drawn like diagrams or normal ones. It's collaborative and end-to-end encrypted. For more documentation on the project go to: https://github.com/excalidraw/excalidraw#documentation

Self-Host Excalidraw

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  excalidraw:
    image: kiliandeca/excalidraw@sha256:2fe5a14cc0aab940dcf6144a6a5e73b9d044bdf0148762f9c7bc0ceea424c872
    environment:
      BACKEND_V2_GET_URL: https://excalidraw-storage.your-domain.com/api/v2/scenes/
      BACKEND_V2_POST_URL: https://excalidraw-storage.your-domain.com/api/v2/scenes/
      HTTP_STORAGE_BACKEND_URL: https://excalidraw-storage.your-domain.com/api/v2
      LIBRARY_BACKEND: https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries
      LIBRARY_URL: https://libraries.excalidraw.com
      SOCKET_SERVER_URL: https://excalidraw-room.your-domain.com/
      STORAGE_BACKEND: https
    depends_on:
      - excalidraw-room
      - excalidraw-storage-backend
  excalidraw-redis:
    image: redis:7.0.3
    volumes:
      - excalidraw-redis-data:/data
  excalidraw-room:
    image: excalidraw/excalidraw-room
  excalidraw-storage-backend:
    image: kiliandeca/excalidraw-storage-backend@sha256:dd01b5214ad2e24970bdc255e28b2921ab59b1db14dbb826979d1fdea1c5c20b
    environment:
      STORAGE_TTL: "2592000000"
      STORAGE_URI: redis://excalidraw-redis:6379
    depends_on:
      - excalidraw-redis
volumes:
  excalidraw-redis-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:80

Why Self-Host Excalidraw?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

kiliandeca/excalidraw@${excalidraw_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"