explaingit

priyavkaneria/excalidraw-workspace

Analysis updated 2026-05-18

4JavaScriptAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

A self hosted workspace that organizes many Excalidraw drawing pages into projects, with a simple sidebar, persistent saves, and a choice of SQLite or PostgreSQL storage.

Mindmap

mindmap
  root((repo))
    What it does
      Organizes pages by project
      Persists drawings and images
      Password protected sidebar
    Tech stack
      JavaScript
      Excalidraw
      Node.js
      SQLite or PostgreSQL
    Use cases
      Private team whiteboard
      Personal sketch archive
      Self hosted diagrams
    Audience
      Small teams
      Self hosters

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Host a private, password protected whiteboard for organizing project diagrams and sketches

USE CASE 2

Keep many Excalidraw canvases organized into project folders instead of one long list

USE CASE 3

Run a lightweight personal instance with SQLite, then move to PostgreSQL for a shared server

USE CASE 4

Back up an entire team's whiteboards by backing up a single database

What is it built with?

JavaScriptExcalidrawNode.jsPostgreSQLSQLiteDocker

How does it compare?

priyavkaneria/excalidraw-workspaceamirmahdavi2023/d1-adminanil-matcha/open-poe-ai
Stars444
LanguageJavaScriptJavaScriptJavaScript
Last pushed2026-06-25
MaintenanceActive
Setup difficultyeasyeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Local SQLite mode is copy paste simple, production PostgreSQL setup needs Docker and a reverse proxy for HTTPS.

You can use, modify, and distribute this software freely, including for commercial purposes, as long as you keep the copyright notice.

In plain English

Excalidraw Workspace is a small, self hosted tool for keeping many drawing pages organized by project, built on top of the popular Excalidraw whiteboard app. Instead of a single canvas, it gives you a sidebar where you can create projects, add pages inside them, rename or delete pages, and drag them into whatever order you like. Each page remembers its drawing, any embedded images, and where you last zoomed and scrolled, all stored on your own server rather than a third party service. The project is meant to be easy to run on your own computer or a small server. For trying it out locally, it uses SQLite and needs only a recent version of Node.js, a copy of an environment file, and a few install and build steps before it starts on localhost. For a more permanent setup on a rented server, it ships a Docker Compose file that uses PostgreSQL instead, and the README recommends putting the app behind HTTPS using a tool like Caddy or Nginx before making it public. To keep things fast while drawing, the app queues save requests so a burst of quick changes does not flood the server, and it uploads each image only once instead of resending it with every save. Login uses a single shared password rather than individual accounts, protected by a long lived, secure cookie, and the app limits how many login attempts and general requests can come from one address in a given time window, though the README is clear this is not a substitute for proper protection against bigger attacks. Switching between SQLite and PostgreSQL later means exporting and reimporting your data rather than a one click change. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Help me set up excalidraw-workspace locally with SQLite and Node.js 22
Prompt 2
Walk me through deploying excalidraw-workspace on a VPS with the included Docker Compose file
Prompt 3
Explain how to switch excalidraw-workspace's storage backend from SQLite to PostgreSQL
Prompt 4
Show me how to put excalidraw-workspace behind HTTPS with Caddy

Frequently asked questions

What is excalidraw-workspace?

A self hosted workspace that organizes many Excalidraw drawing pages into projects, with a simple sidebar, persistent saves, and a choice of SQLite or PostgreSQL storage.

What language is excalidraw-workspace written in?

Mainly JavaScript. The stack also includes JavaScript, Excalidraw, Node.js.

What license does excalidraw-workspace use?

You can use, modify, and distribute this software freely, including for commercial purposes, as long as you keep the copyright notice.

How hard is excalidraw-workspace to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is excalidraw-workspace for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.