Skip to content

πŸ”Œ AstraDraw Room Service - WebSocket collaboration server. Issues β†’ astradraw/astradraw

License

Notifications You must be signed in to change notification settings

AstraDraw/astradraw-rooms

Repository files navigation

AstraDraw Room

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.

License: MIT Docker

Changes from Upstream

  • Increased maxHttpBufferSize to 200MB (from default 1MB) to support larger file transfers
  • Updated Node.js to v18
  • Docker Hub publishing
  • Multi-platform Docker builds (amd64, arm64)

Architecture

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

Quick Start

Using Docker (Production)

docker pull astradraw/rooms:latest

docker run -d \
  -p 80:80 \
  -e PORT=80 \
  -e CORS_ORIGIN=* \
  astradraw/rooms:latest

Local Development

# 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

Environment Variables

Variable Description Default
PORT Server port 80 (prod) / 3002 (dev)
CORS_ORIGIN Allowed CORS origin *
DEBUG Debug logging -

Production with PM2

If you need to use cluster mode with PM2, see: https://socket.io/docs/v4/pm2/

pm2 start pm2.production.json

Deployment

For complete deployment with frontend, backend API, and Traefik proxy, see the astradraw deployment repo.

License

MIT License - Based on excalidraw-room

Links

About

πŸ”Œ AstraDraw Room Service - WebSocket collaboration server. Issues β†’ astradraw/astradraw

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published