summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/excalidraw.yml
blob: 38d15828b4a5a16183a94fbd4de5d13568d581cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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