one-click-apps/public/v4/apps/excalidraw.yml

76 lines
3.5 KiB
YAML

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