# Use postgres/example user/password credentials version: "3.8" volumes: database-data: services: caldb: container_name: caldb image: postgres restart: always volumes: - database-data:/var/lib/postgresql/data/ env_file: .env networks: - proxy environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} calcom: container_name: calcom image: calcom.docker.scarf.sh/calcom/cal.com restart: always ports: - "3000:3000" build: context: . dockerfile: Dockerfile args: NEXT_PUBLIC_WEBAPP_URL: ${NEXT_PUBLIC_WEBAPP_URL} NEXT_PUBLIC_LICENSE_CONSENT: ${NEXT_PUBLIC_LICENSE_CONSENT} CALCOM_TELEMETRY_DISABLED: ${CALCOM_TELEMETRY_DISABLED} NEXTAUTH_SECRET: ${NEXTAUTH_SECRET} CALENDSO_ENCRYPTION_KEY: ${CALENDSO_ENCRYPTION_KEY} DATABASE_URL: ${DATABASE_URL} network: proxy networks: - proxy env_file: .env environment: - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@tcp(caldb)/${POSTGRES_DB} depends_on: - caldb labels: - "traefik.enable=true" - "traefik.http.routers.cal.entrypoints=http" - "traefik.http.routers.cal.rule=Host(`cal.${URL}`)" - "traefik.http.middlewares.cal-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.cal.middlewares=cal-https-redirect" - "traefik.http.routers.cal-secure.entrypoints=https" - "traefik.http.routers.cal-secure.rule=Host(`cal.${URL}`)" - "traefik.http.routers.cal-secure.tls=true" - "traefik.http.routers.cal-secure.service=cal" - "traefik.http.services.cal.loadbalancer.server.port=3000" - "traefik.docker.network=proxy" networks: proxy: external: true