76 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: '3.8'
 | 
						|
 | 
						|
services:
 | 
						|
 | 
						|
  calcom:
 | 
						|
    container_name: calcom
 | 
						|
    image: calcom/cal.com:v3.7.16
 | 
						|
    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
 | 
						|
      - DATABASE_DIRECT_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}
 | 
						|
      - EMAIL_SERVER_USER=${EMAIL_SERVER_USER}
 | 
						|
      - 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
 |