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