feat: add cal.com
This commit is contained in:
parent
47cfbc19b1
commit
4d9127b9da
106
apps/calcom/config.json
Normal file
106
apps/calcom/config.json
Normal file
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"name": "Cal.com",
|
||||
"available": true,
|
||||
"port": 8294,
|
||||
"exposable": true,
|
||||
"id": "calcom",
|
||||
"description": "The open source Calendly successor. You are in charge of your own data, workflow, and appearance.\nCalendly and other scheduling tools are awesome. It made our lives massively easier. We're using it for business meetings, seminars, yoga classes, and even calls with our families. However, most tools are very limited in terms of control and customization.\n That's where Cal.com comes in. Self-hosted or hosted by us. White-label by design. API-driven and ready to be deployed on your own domain. Full control of your events and data.",
|
||||
"tipi_version": 1,
|
||||
"version": "3.7.6",
|
||||
"categories": ["calendar", "social"],
|
||||
"short_desc": "Scheduling infrastructure for absolutely everyone.",
|
||||
"author": "cal.com",
|
||||
"source": "https://github.com/calcom/cal.com",
|
||||
"website": "https://cal.com/",
|
||||
"supported_architectures": ["amd64"],
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "password",
|
||||
"label": "Next.js Auth secret. Generate one with `openssl rand -base64 32`",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "CALCOM_NEXTAUTH_SECRET"
|
||||
},
|
||||
{
|
||||
"type": "password",
|
||||
"label": "Calendso Encryption Key. 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`",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "CALENDSO_ENCRYPTION_KEY"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "MS Graph Client ID. Used for the Office 365 / Outlook.com Calendar integration",
|
||||
"required": false,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "MS_GRAPH_CLIENT_ID"
|
||||
},
|
||||
{
|
||||
"type": "password",
|
||||
"label": "MS Graph Client Secret. Used for the Office 365 / Outlook.com Calendar integration",
|
||||
"required": false,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "MS_GRAPH_CLIENT_SECRET"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Zoom Client ID. Used for the Zoom integration",
|
||||
"required": false,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "ZOOM_CLIENT_ID"
|
||||
},
|
||||
{
|
||||
"type": "password",
|
||||
"label": "Zoom Client Secret. Used for the Zoom integration",
|
||||
"required": false,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "ZOOM_CLIENT_SECRET"
|
||||
},
|
||||
{
|
||||
"type": "email",
|
||||
"label": "Configures the global From: header whilst sending emails.",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "EMAIL_FROM"
|
||||
},
|
||||
{
|
||||
"type": "fqdn",
|
||||
"label": "Email server host (SMTP)",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "EMAIL_SERVER_HOST"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"label": "Email server port (SMTP)",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 8,
|
||||
"env_variable": "EMAIL_SERVER_PORT"
|
||||
},
|
||||
{
|
||||
"type": "password",
|
||||
"label": "Email server password (SMTP)",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "EMAIL_SERVER_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Node.js environment type (production, development, test)",
|
||||
"required": true,
|
||||
"min": 1,
|
||||
"max": 1024,
|
||||
"env_variable": "CALCOM_NODE_ENV"
|
||||
}
|
||||
]
|
||||
}
|
0
apps/calcom/data/.env
Normal file
0
apps/calcom/data/.env
Normal file
56
apps/calcom/docker-compose.yml
Normal file
56
apps/calcom/docker-compose.yml
Normal file
|
@ -0,0 +1,56 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
|
||||
calcom:
|
||||
image: calcom/cal.com
|
||||
restart: always
|
||||
ports:
|
||||
- ${APP_PORT}:3000
|
||||
networks:
|
||||
- tipi_main_network
|
||||
environment:
|
||||
- DATABASE_HOST=${POSTGRES_HOST}
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}/calcom
|
||||
- POSTGRES_USER=${POSTGRES_USERNAME}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=calcom
|
||||
- LICENSE=agree
|
||||
- NEXT_PUBLIC_LICENSE_CONSENT=agree
|
||||
- NEXT_PUBLIC_WEBAPP_URL=http://${APP_DOMAIN}
|
||||
- NEXTAUTH_SECRET=${CALCOM_NEXTAUTH_SECRET}
|
||||
- CALENDSO_ENCRYPTION_KEY=${CALENDSO_ENCRYPTION_KEY}
|
||||
- MS_GRAPH_CLIENT_ID=${MS_GRAPH_CLIENT_ID}
|
||||
- MS_GRAPH_CLIENT_SECRET=${MS_GRAPH_CLIENT_SECRET}
|
||||
- ZOOM_CLIENT_ID=${ZOOM_CLIENT_ID}
|
||||
- ZOOM_CLIENT_SECRET=${ZOOM_CLIENT_SECRET}
|
||||
- EMAIL_FROM=${EMAIL_FROM}
|
||||
- EMAIL_SERVER_HOST=${EMAIL_SERVER_HOST}
|
||||
- EMAIL_SERVER_PORT=${EMAIL_SERVER_PORT}
|
||||
- EMAIL_SERVER_PASSWORD=${EMAIL_SERVER_PASSWORD}
|
||||
- NODE_ENV={CALCOM_NODE_ENV}
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
traefik.http.middlewares.calcom-web-redirect.redirectscheme.scheme: https
|
||||
traefik.http.services.calcom.loadbalancer.server.port: 3000
|
||||
# Web
|
||||
traefik.http.routers.calcom-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.calcom-insecure.entrypoints: web
|
||||
traefik.http.routers.calcom-insecure.service: calcom
|
||||
traefik.http.routers.calcom-insecure.middlewares: calcom-web-redirect
|
||||
# Websecure
|
||||
traefik.http.routers.calcom.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.calcom.entrypoints: websecure
|
||||
traefik.http.routers.calcom.service: calcom
|
||||
traefik.http.routers.calcom.tls.certresolver: myresolver
|
||||
# Local domain
|
||||
traefik.http.routers.calcom-local-insecure.rule: Host(`calcom.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.calcom-local-insecure.entrypoints: web
|
||||
traefik.http.routers.calcom-local-insecure.service: calcom
|
||||
traefik.http.routers.calcom-local-insecure.middlewares: calcom-web-redirect
|
||||
# Local domain secure
|
||||
traefik.http.routers.calcom-local.rule: Host(`calcom.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.calcom-local.entrypoints: websecure
|
||||
traefik.http.routers.calcom-local.service: calcom
|
||||
traefik.http.routers.calcom-local.tls: true
|
609
apps/calcom/metadata/description.md
Normal file
609
apps/calcom/metadata/description.md
Normal file
File diff suppressed because one or more lines are too long
BIN
apps/calcom/metadata/logo.jpg
Normal file
BIN
apps/calcom/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Loading…
Reference in New Issue
Block a user