Merge branch 'apollo-sturdy-app/calcom'
This commit is contained in:
commit
7fe4d2287c
102
apps/calcom/config.json
Normal file
102
apps/calcom/config.json
Normal file
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"author": "cal.com",
|
||||
"available": true,
|
||||
"categories": ["calendar", "social"],
|
||||
"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.",
|
||||
"exposable": true,
|
||||
"form_fields": [
|
||||
{
|
||||
"env_variable": "CALCOM_NEXTAUTH_SECRET",
|
||||
"label": "Next.js Auth secret. Generate one with `openssl rand -base64 32`",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": true,
|
||||
"type": "password"
|
||||
},
|
||||
{
|
||||
"env_variable": "CALENDSO_ENCRYPTION_KEY",
|
||||
"max": 50,
|
||||
"min": 50,
|
||||
"type": "random"
|
||||
},
|
||||
{
|
||||
"env_variable": "MS_GRAPH_CLIENT_ID",
|
||||
"label": "MS Graph Client ID. Used for the Office 365 / Outlook.com Calendar integration",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": false,
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"env_variable": "MS_GRAPH_CLIENT_SECRET",
|
||||
"label": "MS Graph Client Secret. Used for the Office 365 / Outlook.com Calendar integration",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": false,
|
||||
"type": "password"
|
||||
},
|
||||
{
|
||||
"env_variable": "ZOOM_CLIENT_ID",
|
||||
"label": "Zoom Client ID. Used for the Zoom integration",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": false,
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"env_variable": "ZOOM_CLIENT_SECRET",
|
||||
"label": "Zoom Client Secret. Used for the Zoom integration",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": false,
|
||||
"type": "password"
|
||||
},
|
||||
{
|
||||
"env_variable": "CALCOM_GOOGLE_API_CREDENTIALS",
|
||||
"label": "Google API Credentials in JSON form. Used for the Google Calendar integration. See https://github.com/calcom/cal.com?tab=readme-ov-file#obtaining-the-google-api-credentials",
|
||||
"required": false,
|
||||
"text": "text"
|
||||
},
|
||||
{
|
||||
"env_variable": "EMAIL_FROM",
|
||||
"label": "Configures the global From: header whilst sending emails.",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": true,
|
||||
"type": "email"
|
||||
},
|
||||
{
|
||||
"env_variable": "EMAIL_SERVER_HOST",
|
||||
"label": "Email server host (SMTP)",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": true,
|
||||
"type": "fqdn"
|
||||
},
|
||||
{
|
||||
"env_variable": "EMAIL_SERVER_PORT",
|
||||
"label": "Email server port (SMTP)",
|
||||
"max": 65535,
|
||||
"min": 1,
|
||||
"required": true,
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"env_variable": "EMAIL_SERVER_PASSWORD",
|
||||
"label": "Email server password (SMTP)",
|
||||
"max": 1024,
|
||||
"min": 1,
|
||||
"required": true,
|
||||
"type": "password"
|
||||
}
|
||||
],
|
||||
"id": "calcom",
|
||||
"name": "Cal.com",
|
||||
"port": 8294,
|
||||
"short_desc": "Scheduling infrastructure for absolutely everyone.",
|
||||
"source": "https://github.com/calcom/cal.com",
|
||||
"supported_architectures": ["amd64"],
|
||||
"tipi_version": 2,
|
||||
"version": "3.7.11",
|
||||
"website": "https://cal.com/"
|
||||
}
|
73
apps/calcom/docker-compose.yml
Normal file
73
apps/calcom/docker-compose.yml
Normal file
|
@ -0,0 +1,73 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
|
||||
calcom:
|
||||
container_name: calcom
|
||||
image: calcom/cal.com:v3.7.11
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${APP_PORT}:3000
|
||||
networks:
|
||||
- tipi_main_network
|
||||
depends_on:
|
||||
- db-calcom
|
||||
environment:
|
||||
- DATABASE_HOST=db-calcom
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@db-calcom/calcom
|
||||
- POSTGRES_USER=${POSTGRES_USERNAME}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=calcom
|
||||
- LICENSE=agree
|
||||
- NEXT_PUBLIC_LICENSE_CONSENT=agree
|
||||
- NEXT_PUBLIC_WEBAPP_URL=https://${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}
|
||||
- GOOGLE_API_CREDENTIALS=${CALCOM_GOOGLE_API_CREDENTIALS}
|
||||
- EMAIL_FROM=${EMAIL_FROM}
|
||||
- EMAIL_SERVER_HOST=${EMAIL_SERVER_HOST}
|
||||
- EMAIL_SERVER_PORT=${EMAIL_SERVER_PORT}
|
||||
- EMAIL_SERVER_PASSWORD=${EMAIL_SERVER_PASSWORD}
|
||||
- NODE_ENV=production
|
||||
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
|
||||
|
||||
db-calcom:
|
||||
container_name: db-calcom
|
||||
image: postgres:16.1
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_USER=${POSTGRES_USERNAME}
|
||||
- POSTGRES_DB=calcom
|
||||
networks:
|
||||
- tipi_main_network
|
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