Note: Please file all issues in the main AstraDraw repository. This repository is for code contributions only.
WebSocket collaboration server for AstraDraw, a self-hosted Excalidraw deployment.
This is a fork of excalidraw/excalidraw-room with modifications for AstraDraw.
- Increased
maxHttpBufferSizeto 200MB (from default 1MB) to support larger file transfers - Updated Node.js to v18
- Docker Hub publishing
- Multi-platform Docker builds (amd64, arm64)
This is the WebSocket component of the AstraDraw suite:
- astradraw-app: Frontend application
- astradraw-api: Backend API
- astradraw-room (this repo): WebSocket collaboration server
- astradraw: Deployment configuration & documentation
docker pull astradraw/rooms:latest
docker run -d \
-p 80:80 \
-e PORT=80 \
-e CORS_ORIGIN=* \
astradraw/rooms:latest# Install dependencies
yarn install
# Start dev server
yarn start:dev
# Run checks before committing
yarn build # TypeScript compilation
yarn test # Prettier + ESLint check
yarn fix # Auto-fix issues| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 80 (prod) / 3002 (dev) |
CORS_ORIGIN |
Allowed CORS origin | * |
DEBUG |
Debug logging | - |
If you need to use cluster mode with PM2, see: https://socket.io/docs/v4/pm2/
pm2 start pm2.production.jsonFor complete deployment with frontend, backend API, and Traefik proxy, see the astradraw deployment repo.
MIT License - Based on excalidraw-room
- Main Repo: astradraw
- Frontend App: astradraw-app
- Backend API: astradraw-api
- Upstream: excalidraw/excalidraw-room
- Docker Image: ghcr.io/AstraDraw/astradraw-room