2024-06-18 14:36:33 +00:00
|
|
|
# excalidraw-collaboration-xx
|
2022-12-10 11:17:42 +00:00
|
|
|
|
2023-12-02 02:39:33 +00:00
|
|
|
Demo:
|
2022-12-10 11:17:42 +00:00
|
|
|
|
2023-12-02 02:39:33 +00:00
|
|
|
[demo](https://excalidraw-production-4d27.up.railway.app/) on [Railway](https://railway.app?referralCode=HM_ZCO)
|
2023-11-26 16:17:39 +00:00
|
|
|
|
2023-12-02 02:39:33 +00:00
|
|
|
One click to deploy your excalidraw with collaboration.
|
|
|
|
|
|
|
|
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/PjQnHs?referralCode=HM_ZCO)
|
2023-11-26 16:17:39 +00:00
|
|
|
|
2022-12-10 14:08:01 +00:00
|
|
|
Snapshot:
|
|
|
|
|
|
|
|
![snapshot](./_assets/snapshot.png)
|
|
|
|
|
|
|
|
Related docs:
|
2022-12-10 11:17:42 +00:00
|
|
|
|
|
|
|
- [Self hosted online collaborative drawing platform Excalidraw | Log4D](https://en.blog.alswl.com/2022/10/self-hosted-excalidraw/)
|
2023-11-22 22:31:39 +00:00
|
|
|
- [私有化在线协同画图平台 Excalidraw | Log4D](https://blog.alswl.com/2022/10/self-hosted-excalidraw/)
|
2022-12-10 14:08:01 +00:00
|
|
|
|
2023-11-11 23:07:24 +00:00
|
|
|
## Deploy
|
2022-12-10 14:08:01 +00:00
|
|
|
|
2023-11-11 23:07:24 +00:00
|
|
|
Clone, and run:
|
2022-12-10 11:17:42 +00:00
|
|
|
|
|
|
|
```
|
2023-11-11 23:07:24 +00:00
|
|
|
git clone git@github.com:alswl/excalidraw-collaboration.git
|
2022-12-10 14:08:01 +00:00
|
|
|
cd excalidraw-collaboration
|
2022-12-10 12:09:23 +00:00
|
|
|
|
2023-02-01 16:51:11 +00:00
|
|
|
docker-compose up # run the containers
|
|
|
|
|
2023-11-11 23:07:24 +00:00
|
|
|
open "http://localhost" # open browser, and you can using the collbration functions
|
2022-12-10 11:17:42 +00:00
|
|
|
```
|
2022-12-10 13:49:20 +00:00
|
|
|
|
2022-12-10 14:08:01 +00:00
|
|
|
Browse it:
|
2022-12-10 13:49:20 +00:00
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
2022-12-10 14:08:01 +00:00
|
|
|
About public network release:
|
2022-12-10 13:49:20 +00:00
|
|
|
|
|
|
|
if you want to release your own excalidraw in public network,
|
2023-11-11 23:07:24 +00:00
|
|
|
you should modify the `docker-compose.yaml` file,
|
2023-11-22 22:31:39 +00:00
|
|
|
Replace the `VITE_APP_HTTP_STORAGE_BACKEND_URL` and `VITE_APP_WS_SERVER_URL` with your own domain.
|
2023-11-11 23:07:24 +00:00
|
|
|
|
2023-11-22 00:40:53 +00:00
|
|
|
## Roadmap
|
|
|
|
|
2023-11-22 00:42:42 +00:00
|
|
|
- [x] self-host
|
2023-11-22 00:40:53 +00:00
|
|
|
- [x] collaboration feature works
|
2023-11-22 00:42:42 +00:00
|
|
|
- [x] docker-compose support
|
|
|
|
- [x] no pre-build image, dynamic env
|
|
|
|
- [x] upload Docker Hub image
|
2023-11-22 00:40:53 +00:00
|
|
|
- [ ] S3 storage support
|
|
|
|
- [ ] SSO support
|
2023-12-02 02:39:33 +00:00
|
|
|
- [x] HTTPS Demo and
|
|
|
|
- [x] HTTPS docs
|
2023-11-22 00:40:53 +00:00
|
|
|
- [ ] Helm support
|
2023-11-22 00:42:42 +00:00
|
|
|
- [x] online demo
|
2023-12-02 02:39:33 +00:00
|
|
|
- [x] one click to deploy Railway
|
2023-11-22 00:40:53 +00:00
|
|
|
|
2023-11-22 22:31:39 +00:00
|
|
|
## Upgrade Guide
|
|
|
|
|
|
|
|
- v0.15.0 -> v0.16.1
|
|
|
|
- replace `REACT_APP_` env with `VITE_APP_`
|
|
|
|
|
2023-11-11 23:07:24 +00:00
|
|
|
## Q & A
|
|
|
|
|
|
|
|
### How to deploy on the cloud(aws etc)
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2023-11-22 22:31:39 +00:00
|
|
|
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.
|
2023-11-11 23:07:24 +00:00
|
|
|
|
|
|
|
Here is a conversation about how to deploy on the aws: https://github.com/alswl/excalidraw-collaboration/issues/22
|
|
|
|
|
|
|
|
### generateKey problem
|
|
|
|
|
|
|
|
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.
|