Spaces:
Sleeping
Sleeping
| # Development | |
| ## Code Sandbox | |
| - Go to https://codesandbox.io/p/github/excalidraw/excalidraw | |
| - You may need to sign in with GitHub and reload the page | |
| - You can start coding instantly, and even send PRs from there! | |
| ## Local Installation | |
| These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. | |
| ### Requirements | |
| - [Node.js](https://nodejs.org/en/) | |
| - [Yarn](https://yarnpkg.com/getting-started/install) (v1 or v2.4.2+) | |
| - [Git](https://git-scm.com/downloads) | |
| ### Clone the repo | |
| ```bash | |
| git clone https://github.com/excalidraw/excalidraw.git | |
| ``` | |
| ### Install the dependencies | |
| ```bash | |
| yarn | |
| ``` | |
| ### Start the server | |
| ```bash | |
| yarn start | |
| ``` | |
| Now you can open [http://localhost:3000](http://localhost:3000) and start coding in your favorite code editor. | |
| ## Collaboration | |
| For collaboration, you will need to set up [collab server](https://github.com/excalidraw/excalidraw-room) in local. | |
| ## Commands | |
| ### Install the dependencies | |
| ```bash | |
| yarn | |
| ``` | |
| ### Run the project | |
| ```bash | |
| yarn start | |
| ``` | |
| ### Reformat all files with Prettier | |
| ```bash | |
| yarn fix | |
| ``` | |
| ### Run tests | |
| ```bash | |
| yarn test | |
| ``` | |
| ### Update test snapshots | |
| ```bash | |
| yarn test:update | |
| ``` | |
| ### Test for formatting with Prettier | |
| ```bash | |
| yarn test:code | |
| ``` | |
| ### Docker Compose | |
| You can use docker-compose to work on Excalidraw locally if you don't want to setup a Node.js env. | |
| ```bash | |
| docker-compose up --build -d | |
| ``` | |
| ## Self-hosting | |
| We publish a Docker image with the Excalidraw client at [excalidraw/excalidraw](https://hub.docker.com/r/excalidraw/excalidraw). You can use it to self-host your own client under your own domain, on Kubernetes, AWS ECS, etc. | |
| ```bash | |
| docker build -t excalidraw/excalidraw . | |
| docker run --rm -dit --name excalidraw -p 5000:80 excalidraw/excalidraw:latest | |
| ``` | |
| The Docker image is free of analytics and other tracking libraries. | |
| **At the moment, self-hosting your own instance doesn't support sharing or collaboration features.** | |
| We are working towards providing a full-fledged solution for self-hosting your own Excalidraw. | |