Demo:
One click to deploy your excalidraw with collaboration.
Snapshot:
Related docs:
Clone, and run:
git clone [email protected]:alswl/excalidraw-collaboration.git
cd excalidraw-collaboration/basic
docker-compose up # run the containers
open "http://localhost" # open browser, and you can using the collbration functions
Browse it:
- open http://127.0.0.1/ ,and you will see the excalidraw page
- Click the
Live Collaboration
button, and you will see the collaboration page - Now you can share the collaboration page with your friends, and you can draw together.
About public network release:
if you want to release your own excalidraw in public network,
you should modify the docker-compose.yaml
file,
Replace the VITE_APP_HTTP_STORAGE_BACKEND_URL
and VITE_APP_WS_SERVER_URL
with your own domain.
Features:
- Setup with one domain, and use nginx to proxy the requests to the backend services
- HTTPS support
A configurable docker-compose example for a traefik setup can be found here:
https://github.com/Someone0nEarth/excalidraw-self-hosted
- self-host
- collaboration feature works
- docker-compose support
- no pre-build image, dynamic env
- upload Docker Hub image
- S3 storage support
- SSO support
- HTTPS Demo and
- HTTPS docs
- Helm support
- online demo
- one click to deploy Railway
- v0.15.0 -> v0.16.1
- replace
REACT_APP_
env withVITE_APP_
- replace
The docker-compose.yaml
file is for local deploy, if you want to deploy on the cloud,
you should prepare 2 Load Balancer(with HTTPS cert), one for websocket server, one for storage server.
The VITE_APP_HTTP_STORAGE_BACKEND_URL
is for the Load Balancer URL(HTTPS) for storage,
and the VITE_APP_WS_SERVER_URL
is for the Load Balancer URL(HTTPS) for websocket.
Here is a conversation about how to deploy on the aws: alswl#22
Error message:
TypeError: Cannot read properties of undefined (reading 'generateKey')
Why: The excalidraw is using crypto module of Javascript, the HTTPS is required.
How to solve: use HTTPS to access the page, or use http://localhost instead.