aboutsummaryrefslogtreecommitdiffstats
path: root/dev-docs/docs/introduction/development.mdx
diff options
context:
space:
mode:
Diffstat (limited to 'dev-docs/docs/introduction/development.mdx')
-rw-r--r--dev-docs/docs/introduction/development.mdx102
1 files changed, 102 insertions, 0 deletions
diff --git a/dev-docs/docs/introduction/development.mdx b/dev-docs/docs/introduction/development.mdx
new file mode 100644
index 0000000..63c1875
--- /dev/null
+++ b/dev-docs/docs/introduction/development.mdx
@@ -0,0 +1,102 @@
+# 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.