[READ-ONLY] Mirror of https://github.com/FoxxMD/tldraw-selfhosted. A dockerized, selfhostable version of multiplayer tldraw
docker tldraw whiteboard
0

Configure Feed

Select the types of activity you want to include in your feed.

Update readme and compose

FoxxMD (Oct 1, 2025, 11:40 AM EDT) 3e98ee45 24fb6d08

+48 -11
+1 -1
.devcontainer/devcontainer.json
··· 9 9 // "features": {}, 10 10 11 11 // Use 'forwardPorts' to make a list of ports inside the container available locally. 12 - "forwardPorts": [5700,5800] 12 + "forwardPorts": [5858,5757] 13 13 14 14 // Use 'postCreateCommand' to run commands after the container is created. 15 15 // "postCreateCommand": "yarn install",
+30 -3
README.md
··· 1 1 # tldraw for selfhosting 2 2 3 + [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 4 + [![Docker Pulls](https://img.shields.io/docker/pulls/foxxmd/tldraw)](https://hub.docker.com/r/foxxmd/tldraw) 5 + 3 6 A minimal implementation of [tldraw](https://tldraw.dev) based on the starter/templates [simple-sever](https://github.com/tldraw/tldraw/tree/main/templates/simple-server-example) and [sync-cloudflare](https://github.com/tldraw/tldraw/tree/main/templates/sync-cloudflare). 4 7 5 8 This implementation offers: ··· 13 16 14 17 ## Usage and tldraw License 15 18 16 - When deployed on `localhost`, or when developing, this implementation is usable. 19 + [Docker image](https://hub.docker.com/r/foxxmd/tldraw) available at 20 + 21 + ``` 22 + docker.io/foxxmd/tldraw:latest 23 + ``` 24 + 25 + Use the [`compose.yaml`](/compose.yaml) docker compose file to start tldraw: 26 + 27 + ``` 28 + docker compose up -d 29 + ``` 30 + 31 + tldraw will be served at `http://localhost:5858` 32 + 33 + ## Production and tldraw License 17 34 18 - If you deploy this to a valid TLD (`mydomain.com`) **you will need to provide a [license](https://tldraw.dev/community/license).** Hobby licenses, which are free, are available with application. 35 + When deployed on `localhost` with the above published image, or when developing with devcontainer, this implementation is usable. 19 36 20 - To include your license you will need to build the image yourself: Add the build-arg `VITE_TLDRAW_LICENSE_KEY` or fill in using compose.yaml, then build. 37 + If you deploy tldraw-selfhosted to an SSL-enabled TLD (`https://mydomain.com`) then **you will need to build it with a valid tldraw [license](https://tldraw.dev/community/license).** Hobby licenses, which are free, are available by [applying on tldraw's site.](https://tldraw.dev/get-a-license/hobby) 38 + 39 + To build the image with your license use [`compose.build.yaml`](/compose.build.yaml) and provide your license to the build-arg `VITE_TLDRAW_LICENSE_KEY`. 40 + 41 + ```sh 42 + git clone https://github.com/FoxxMD/tldraw-selfhosted tldraw-selfhosted 43 + cd tldraw-selfhosted 44 + # fill in VITE_TLDRAW_LICENSE_KEY in compose.build.yaml, then... 45 + docker compose -f compose.build.yaml build 46 + docker compose -f compose.build.yaml up -d 47 + ``` 21 48 22 49 ## License 23 50
+12
compose.build.yaml
··· 1 + services: 2 + tldraw: 3 + image: tldraw 4 + build: 5 + context: . 6 + args: 7 + VITE_TLDRAW_LICENSE_KEY: 8 + ports: 9 + - 5858:5858 10 + volumes: 11 + - ./data/assets:/config/assets 12 + - ./data/rooms:/config/rooms
+5 -7
compose.yaml
··· 1 1 services: 2 2 tldraw: 3 - image: tldraw 4 - build: 5 - context: . 6 - args: 7 - VITE_TLDRAW_LICENSE_KEY: 3 + image: docker.io/foxxmd/tldraw:latest 8 4 ports: 9 - - 5757:5757 10 - - 5858:5858 5 + - 5858:5858 6 + volumes: 7 + - ./data/assets:/config/assets 8 + - ./data/rooms:/config/rooms