excalidraw-swe/README.md

88 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

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/)
- [私有化在线协同画图平台 Excalidraw | Log4D](https://blog.alswl.com/2022/10/self-hosted-excalidraw/)
2022-12-10 14:08:01 +00:00
## Deploy
2022-12-10 14:08:01 +00:00
Clone, and run:
2022-12-10 11:17:42 +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
docker-compose up # run the containers
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,
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.
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
## Upgrade Guide
- v0.15.0 -> v0.16.1
- replace `REACT_APP_` env with `VITE_APP_`
## 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.
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: 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.