Self-hosted Excalidraw with support for environment variables 🚀
10K+
This fork of Excalidraw aims to provide a suitable docker image for self-hosting. It supports dynamic runtime configuration with environment variables. It also allows you to use a different backend than firebase to store collabs rooms and images.
It can be used with kiliandeca/excalidraw-storage-backend.
Compare changes from upstream - DockerHub kiliandeca/excalidraw
Check out examples/docker-compose.yml for a complete example of excalidraw-fork and excalidraw-storage-backend used together.
Quick start: docker-compose -f examples/docker-compose.yml up
| Name | Description | Default value |
|---|---|---|
BACKEND_V2_GET_URL | excalidraw-json or other compatible implementation like kiliandeca/excalidraw-storage-backend | "" |
BACKEND_V2_POST_URL | excalidraw-json or other compatible implementation like kiliandeca/excalidraw-storage-backend | "" |
LIBRARY_URL | "" | |
LIBRARY_BACKEND | "" | |
SOCKET_SERVER_URL | excalidraw-room or other compatible implementation | "" |
FIREBASE_CONFIG | "{}" | |
STORAGE_BACKEND | Can be either firebase or http | "firebase" |
HTTP_STORAGE_BACKEND_URL | Used when STORAGE_BACKEND is set to http. kiliandeca/excalidraw-storage-backend or other compatible implementation | "" |
Values used by excalidraw.com can be found here
When the container start, it populate a env.json file usage environement variables. This file is served by nginx like others static files. When the React application load in your browser it fetch the file to get the current configuration.
Content type
Image
Digest
Size
13 MB
Last updated
almost 5 years ago
docker pull kiliandeca/excalidraw