captainVersion: 4 services: $$cap_appname: image: kiliandeca/excalidraw@$$cap_excalidraw_version restart: always environment: BACKEND_V2_GET_URL: https://$$cap_appname-storage.$$cap_root_domain/api/v2/scenes/ BACKEND_V2_POST_URL: https://$$cap_appname-storage.$$cap_root_domain/api/v2/scenes/ LIBRARY_URL: https://libraries.excalidraw.com LIBRARY_BACKEND: https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries SOCKET_SERVER_URL: https://$$cap_appname-room.$$cap_root_domain/ STORAGE_BACKEND: 'https' HTTP_STORAGE_BACKEND_URL: 'https://$$cap_appname-storage.$$cap_root_domain/api/v2' depends_on: - $$cap_appname-room - $$cap_appname-storage-backend $$cap_appname-room: image: excalidraw/excalidraw-room restart: always $$cap_appname-storage-backend: image: kiliandeca/excalidraw-storage-backend@$$cap_storage_backend_version restart: always environment: STORAGE_URI: redis://srv-captain--$$cap_appname-redis:6379 STORAGE_TTL: 2592000000 depends_on: - $$cap_appname-redis caproverExtra: containerHttpPort: '8080' $$cap_appname-redis: image: redis:$$cap_redis_version restart: always caproverExtra: notExposeAsWebApp: 'true' volumes: - $$cap_appname-redis-data:/data caproverOneClickApp: variables: - id: $$cap_excalidraw_version label: Excalidraw version defaultValue: 'sha256:2fe5a14cc0aab940dcf6144a6a5e73b9d044bdf0148762f9c7bc0ceea424c872' description: Check out this Docker page for any valid tags https://hub.docker.com/r/kiliandeca/excalidraw/tags - id: $$cap_storage_backend_version label: Excalidraw storage backend adapter version defaultValue: 'sha256:dd01b5214ad2e24970bdc255e28b2921ab59b1db14dbb826979d1fdea1c5c20b' description: Check out this Docker page for any valid tags https://hub.docker.com/r/kiliandeca/excalidraw-storage-backend/tags - id: $$cap_redis_version label: Redis Version defaultValue: 7.0.3 description: Check out their Docker page for the valid tags https://hub.docker.com/_/redis?tab=tags validRegex: /^([^\s^\/])+$/ instructions: start: >- Excalidraw is a virtual whiteboard for sketching hand-drawn like diagrams or normal ones. It's collaborative and end-to-end encrypted. For more documentation on the project go to: https://github.com/excalidraw/excalidraw#documentation end: > Excalidraw is deployed and available as $$cap_appname. Before starting using Excalidraw, you'll need to 1) Enable HTTPS for $$cap_appname-room, $$cap_appname-storage and $$cap_appname apps. 2) Force HTTPS by redirecting all HTTP traffic to HTTPS for $$cap_appname-room, $$cap_appname-storage and $$cap_appname apps. 3) Enable Websocket in $$cap_appname-room, $$cap_appname-storage and $$cap_appname apps. IMPORTANT: It will take up to 1 minutes for Excalidraw to be ready. Before that, you might see 502 error page. displayName: 'Excalidraw' isOfficial: false description: Virtual whiteboard for sketching hand-drawn like diagrams or normal ones. Collaborative and end-to-end encrypted. documentation: Taken from https://gitlab.com/kiliandeca/excalidraw-fork/-/blob/main/examples/docker-compose.yml