From 97467c2b77ea08ed97048bd19d0ba062a5957c8d Mon Sep 17 00:00:00 2001 From: Ak4zh Date: Tue, 26 Oct 2021 06:00:42 +0530 Subject: [PATCH] Added Calendso (#394) * added calendso * applied prettier * Update calendso.yml - Added additional env variables - Removed local build with pre-built docker image * Update calendso.yml * Fixed typo * Added stripe environment variables * fixed formatting * added more env variables * Made Calendso Encryption Key mandatory Co-authored-by: ak4zh --- public/v4/apps/calendso.yml | 184 +++++++++++++++++++++++++++++++++++ public/v4/logos/calendso.png | Bin 0 -> 3503 bytes 2 files changed, 184 insertions(+) create mode 100644 public/v4/apps/calendso.yml create mode 100644 public/v4/logos/calendso.png diff --git a/public/v4/apps/calendso.yml b/public/v4/apps/calendso.yml new file mode 100644 index 0000000..03e5876 --- /dev/null +++ b/public/v4/apps/calendso.yml @@ -0,0 +1,184 @@ +captainVersion: 4 +services: + # Calendso + $$cap_appname: + image: ctadeu/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/ diff --git a/public/v4/logos/calendso.png b/public/v4/logos/calendso.png new file mode 100644 index 0000000000000000000000000000000000000000..d96f97e9abf803bebbb74824d11b7f1f481eda06 GIT binary patch literal 3503 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 literal 0 HcmV?d00001