summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/calendso.yml
blob: 2c7d94a5a64ec3589db40bfa28be10aee8da2080 (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
captainVersion: 4
services:
    # Calendso
    $$cap_appname:
        image: calendso/calendso:$$cap_app_version
        depends_on:
            - $$cap_appname-db
        restart: always
        ports:
            - $$cap_prisma_studio_port:5555
        environment:
            DATABASE_URL: postgresql://$$cap_dbuser:$$cap_dbpass@srv-captain--$$cap_appname-db:5432/$$cap_dbname
            GOOGLE_API_CREDENTIALS: $$cap_google_api_credentials
            DAILY_API_KEY: $$cap_daily_api_key
            BASE_URL: http://$$cap_appname.$$cap_root_domain
            NEXT_PUBLIC_APP_URL: http://$$cap_appname.$$cap_root_domain
            NEXT_TELEMETRY_DISABLED: $$cap_next_telemetry_disabled
            JWT_SECRET: $$cap_jwt_secret
            NODE_TLS_REJECT_UNAUTHORIZED: $$cap_tls_reject_unauthorized
            # Used for the Office 365 / Outlook.com Calendar integration
            MS_GRAPH_CLIENT_ID: $$cap_ms_graph_client_id
            MS_GRAPH_CLIENT_SECRET: $$cap_ms_graph_client_secret
            # Used for the Zoom integration
            ZOOM_CLIENT_ID: $$cap_zoom_client_id
            ZOOM_CLIENT_SECRET: $$cap_zoom_client_secret
            # E-mail settings
            # Configures the global From: header whilst sending emails.
            EMAIL_FROM: $$cap_email_from
            # Configure SMTP settings (@see https://nodemailer.com/smtp/).
            EMAIL_SERVER_HOST: $$cap_email_server_host
            EMAIL_SERVER_PORT: $$cap_email_server_port
            EMAIL_SERVER_USER: $$cap_email_server_user
            EMAIL_SERVER_PASSWORD: $$cap_email_server_password
            CALENDSO_ENCRYPTION_KEY: $$cap_calendso_encryption_key
            # Stripe Config
            NEXT_PUBLIC_STRIPE_PUBLIC_KEY: $$cap_next_public_stripe_key
            STRIPE_PRIVATE_KEY: $$cap_stripe_private_key
            STRIPE_CLIENT_ID: $$cap_stripe_client_id
            STRIPE_WEBHOOK_SECRET: $$cap_stripe_webhook_secret
            PAYMENT_FEE_PERCENTAGE: $$cap_payment_fee_percentage
            PAYMENT_FEE_FIXED: $$cap_payment_fee_fixed
            NEXT_PUBLIC_INTERCOM_APP_ID: $$cap_next_public_intercom_app_id
        caproverExtra:
            containerHttpPort: '3000'
    # Database
    $$cap_appname-db:
        image: postgres:$$cap_postgres_version
        volumes:
            - $$cap_appname-db:/var/lib/postgresql/data
        restart: always
        environment:
            POSTGRES_DB: $$cap_dbname
            POSTGRES_USER: $$cap_dbuser
            POSTGRES_PASSWORD: $$cap_dbpass
        caproverExtra:
            notExposeAsWebApp: 'true'

caproverOneClickApp:
    variables:
        - id: $$cap_app_version
          label: Calendso Version
          defaultValue: '0.0.17-1'
          description: Check out their docker page for the valid tags https://hub.docker.com/r/ctadeu/calendso/tags

        - id: $$cap_postgres_version
          label: Postgres Version
          defaultValue: '13'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_dbname
          label: Database Name
          defaultValue: 'calendso'
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_dbuser
          label: Database User
          defaultValue: 'calendso'
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_dbpass
          label: Database Password
          defaultValue: $$cap_gen_random_hex(64)
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_google_api_credentials
          label: Google API Credentials
          description: You can get this from the Google API Console (https://console.cloud.google.com/apis/dashboard). More details on this can be found below under the Obtaining the Google API Credentials section (https://github.com/calendso/calendso#Obtaining-the-Google-API-Credentials).

        - id: $$cap_daily_api_key
          label: Daily API Key
          description: Obtain from https://dashboard.daily.co/developers

        - id: $$cap_prisma_studio_port
          label: Prisma Studio Port
          defaultValue: '5555'
          validRegex: /^\d+$/

        - id: $$cap_next_telemetry_disabled
          label: Next Telemetry Disabled
          defaultValue: '1'
          validRegex: /^(0|1)$/
          description: Next.js collects completely anonymous telemetry data about general usage. Participation in this anonymous program is optional, and you may opt-out if you'd not like to share any information. Setting to 0 enables the telemetry.

        - id: $$cap_tls_reject_unauthorized
          label: Node TLS Reject Unauthorized
          defaultValue: '1'
          validRegex: /^(0|1)$/

        - id: $$cap_jwt_secret
          label: JWT Secret
          defaultValue: $$cap_gen_random_hex(64)
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_ms_graph_client_id
          label: MS Graph Client ID
          description: Used for the Office 365 / Outlook.com Calendar integration

        - id: $$cap_ms_graph_client_secret
          label: MS Graph Client Secret
          description: Used for the Office 365 / Outlook.com Calendar integration

        - id: $$cap_zoom_client_id
          label: Zoom Client ID
          description: Used for the Zoom integration

        - id: $$cap_zoom_client_secret
          label: Zoom Client ID
          description: Used for the Zoom integration

        - id: $$cap_email_from
          label: Email From Address
          description: Configures the global From header whilst sending emails

        - id: $$cap_email_server_host
          label: Email Server Host

        - id: $$cap_email_server_port
          label: Email Server Port

        - id: $$cap_email_server_user
          label: Email Server User

        - id: $$cap_email_server_password
          label: Email Server Password

        - id: $$cap_calendso_encryption_key
          label: Calendso Encryption Key
          defaultValue: $$cap_gen_random_hex(32)
          description: Encryption key that will be used to encrypt CalDAV credentials, choose a random string, for example with `dd if=/dev/urandom bs=1K count=1 | md5sum`
          validRegex: /^([^\s^\/])+$/

        - id: $$cap_next_public_stripe_key
          label: Stripe Public Key

        - id: $$cap_stripe_private_key
          label: Stripe Private Key

        - id: $$cap_stripe_client_id
          label: Stripe Client ID

        - id: $$cap_stripe_webhook_secret
          label: Stripe Webhook Secret

        - id: $$cap_payment_fee_percentage
          label: Stripe Payment Fee Percentage

        - id: $$cap_payment_fee_fixed
          label: Stripe Payment Fee Fixed

        - id: $$cap_next_public_intercom_app_id
          label: Next Public Intercom App ID

    instructions:
        start: >-
            The open-source Calendly alternative.
        end: >-
            Done! 😄
            Your service is available at http://$$cap_appname.$$cap_root_domain
            Make sure to enable https on your domain
    displayName: 'Calendso'
    isOfficial: false
    description: The open-source Calendly alternative. You are in control of your events and data.
    documentation: https://calendso.com/