570baf83ab
* feat: implement manual save via Ctrl+S with toast and increase autosave interval - Increased autosave interval to 30s. - Captured Ctrl+S / Meta+S to trigger manual save. - Added a minimalistic, translucent toast in the top right to display saving status. * feat: implement manual save via Ctrl+S with toast and increase autosave interval - Increased autosave interval to 30s. - Captured Ctrl+S / Meta+S to trigger manual save. - Added a minimalistic, translucent toast in the top right to display saving status. --------- Co-authored-by: ruinivist <179396038+ruinivist@users.noreply.github.com>
excali-box
Private self-hosted Excalidraw with Bun, Caddy, and SQLite.
This is bare wrapper around the excalidraw packages that adds autosave and disk-persistence. No auth to keep things simple - you either run in a private network or put it behind Caddy auth or similar solutions.
GPT 5.5 generated
Pull from GHCR and run
Images are published to:
ghcr.io/ruinivist/excalidraw-box:<version>
docker pull ghcr.io/ruinivist/excalidraw-box:latest
docker run --rm -p 127.0.0.1:3000:80 -v "$PWD/excali-box-data:/data" ghcr.io/ruinivist/excalidraw-box:latest
Run locally
bun install
bun run dev
Open http://localhost:3000.
Test
bun run test
bun run typecheck
Build the image
docker build -t excali .
docker run --rm -p 127.0.0.1:3000:80 -v "$PWD/excali-box-data:/data" excali
This will make the data persistent in the excali-box-data folder in the current directory, with Caddy serving the browser build on localhost:3000