Cal.com

Cal.com 日程安排平台 — 一键安装

为所有人提供的日程安排基础设施。

为什么用 Web.Casa 安装 Cal.com 日程安排平台?

一键部署

无需手动编写 Docker Compose,Web.Casa 自动配置并启动。

自动 HTTPS

Caddy 自动签发和续期 SSL 证书,反向代理开箱即用。

统一管理

监控、备份、更新、日志——所有应用在一个面板中管理。

安装方式

先安装 Web.Casa,然后在应用商店中一键安装此应用。

应用信息

版本
v6.2.0
作者
cal.com
默认端口
8294

Logo

Cal.com (原 Calendso)

开源的 Calendly 继任者。
了解更多 »

Discord · 网站 · 问题 · 路线图

加入 Cal.com Discord Product Hunt 在线状态 Github 星标 Hacker News 许可证 每月提交数 定价 Jitsu 追踪 Checkly 可用性

关于项目

booking-screen

为所有人提供的日程安排基础设施

开源的 Calendly 继任者。您完全掌控自己的数据、工作流和外观。

Calendly 和其他日程安排工具非常棒。它们让我们的生活轻松了许多。我们将其用于商务会议、研讨会、瑜伽课,甚至与家人的通话。然而,大多数工具在控制和定制方面非常有限。

这就是 Cal.com 的用武之地。自托管或由我们托管。设计上支持白标。API 驱动,可部署在您自己的域名上。完全掌控您的事件和数据。

认可

Hacker News

Featured on Hacker News Featured on Hacker News

Product Hunt

Cal.com - The open source Calendly alternative | Product Hunt Cal.com - The open source Calendly alternative | Product Hunt Cal.com - The open source Calendly alternative | Product Hunt

构建技术

联系我们

如有任何商业咨询,请与我们的销售团队会面。

通过 Cal.com 预约我们

保持更新

Cal.com 于 2021 年 9 月 15 日正式发布 v1.0 版本,至今我们已经走过了很长的路。关注此仓库的 发布 以获取未来更新通知:

cal-star-github

入门指南

要在本地启动并运行副本,请遵循以下简单步骤。

先决条件

以下是运行 Cal.com 所需的条件。

  • Node.js (版本: >=18.x)
  • PostgreSQL
  • Yarn (推荐)

如果您想启用任何可用的集成,可能需要为每个集成获取额外的凭据。更多详细信息可在下面的 集成部分 中找到。

开发

设置

  1. 将仓库克隆到公共 GitHub 仓库(或 fork https://github.com/calcom/cal.com/fork)。如果您计划分发代码,请保持源代码公开以遵守 AGPLv3。要在私有仓库中克隆,请 获取商业许可证

    git clone https://github.com/calcom/cal.com.git
    

    如果您在 Windows 上,请在具有管理员权限的 gitbash 中运行以下命令:
    > git clone -c core.symlinks=true https://github.com/calcom/cal.com.git
    更多详情请参阅 文档。

  2. 进入项目文件夹

    cd cal.com
    
  3. 使用 yarn 安装包

    yarn
    
  4. 设置您的 .env 文件

    • 复制 .env.example 为 .env
    • 使用 openssl rand -base64 32 生成密钥,并将其添加到 .env 文件中的 NEXTAUTH_SECRET 下。
    • 使用 openssl rand -base64 32 生成密钥,并将其添加到 .env 文件中的 CALENDSO_ENCRYPTION_KEY 下。
  5. 设置 Node 如果您的 Node 版本不符合文档中说明的项目要求,"nvm" (Node Version Manager) 允许使用项目所需的 Node 版本:

    nvm use
    

    您可能需要先安装特定版本,然后使用它:

    nvm install && nvm use
    

    您可以从 这里 安装 nvm。

使用 yarn dx 快速启动

  • 需要安装 Docker 和 Docker Compose
  • 将启动一个带有几个测试用户的本地 Postgres 实例 - 凭据将记录在控制台中
yarn dx

开发提示

在 .env 文件中任意位置添加 NEXT_PUBLIC_DEBUG=1,以获取由 tRPC 驱动的所有查询和变异的日志信息。

echo 'NEXT_PUBLIC_DEBUG=1' >> .env

Gitpod 设置

  1. 点击下方按钮在 Gitpod 中打开此项目。

  2. 这将在您的浏览器中打开一个完全配置好的工作区,所有必要的依赖项都已安装。

在 Gitpod 中打开

手动设置

  1. 在 .env 文件中配置环境变量。将 <user>、<pass>、<db-host> 和 <db-port> 替换为相应的值

    DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'
    
    如果您不知道如何配置 DATABASE_URL,请按照以下步骤创建快速本地数据库
    1. 下载 并在本地安装 postgres(如果尚未安装)。

    2. 通过执行 createDB <DB name> 创建您自己的本地数据库。

    3. 现在使用您创建的数据库打开 psql shell:psql -h localhost -U postgres -d <DB name>

    4. 在 psql shell 中执行 \conninfo。您将获得以下信息。 image

    5. 现在提取所有信息并将其添加到您的 DATABASE_URL 中。URL 应类似于 postgresql://postgres:postgres@localhost:5432/Your-DB-Name。

    如果您不想创建本地数据库,也可以考虑使用 railway.app 或 render 等服务。

  2. 将 .env 中的 DATABASE_URL 复制并粘贴到 .env.appStore 中。

  3. 使用 Prisma 模式(位于 packages/prisma/schema.prisma 中)设置数据库

    在开发环境中,运行:

    yarn workspace @calcom/prisma db-migrate
    

    在生产环境中,运行:

    yarn workspace @calcom/prisma db-deploy
    
  4. 运行 mailhog 以查看开发期间发送的电子邮件

    注意: 当 E2E_TEST_MAILHOG_ENABLED 为 "1" 时必需

    docker pull mailhog/mailhog
    docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog
    
  5. 运行(开发模式)

    yarn dev
    

设置您的第一个用户

方法 1
  1. 打开 Prisma Studio 查看或修改数据库内容:

    yarn db-studio
    
  2. 点击 User 模型以添加新的用户记录。

  3. 填写 email、username、password 字段,并将 metadata 设置为空 {}(记得使用 BCrypt 加密您的密码),然后点击 Save 1 Record 创建您的第一个用户。

    新用户默认设置为 TRIAL 计划。您可能需要在 packages/prisma/schema.prisma 文件中根据您的需求调整此行为。

  4. 在浏览器中打开 http://localhost:3000 并使用您刚刚创建的第一个用户登录。

方法 2

通过运行以下命令为本地数据库填充种子数据:

cd packages/prisma
yarn db-seed

上述命令将使用虚拟用户填充本地数据库。

端到端测试

请务必将环境变量 NEXTAUTH_URL 设置为正确的值。如果您在本地运行,如 .env.example 中的文档所述,该值应为 http://localhost:3000。

# 在终端中直接运行:
yarn test-e2e

# 要打开最新的 HTML 报告,请运行:
yarn playwright show-report test-results/reports/playwright-html-report

解决问题

端到端测试浏览器未安装

运行 npx playwright install 以下载测试浏览器,并解决运行 yarn test-e2e 时出现的以下错误:

Executable doesn't exist at /Users/alice/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium

从早期版本升级

常见问题

Cal.com 日程安排平台 可以安装在 Web.Casa 上吗?

是的,Cal.com 日程安排平台 是 Web.Casa 应用商店中的官方应用。你可以通过 Web.Casa 面板一键安装,无需手动编写 Docker Compose 或配置反向代理。

如何在 Web.Casa 上安装 Cal.com 日程安排平台?

首先通过 curl -fsSL https://get.web.casa | bash 安装 Web.Casa,然后在面板的应用商店中搜索「Cal.com 日程安排平台」,点击安装即可。Web.Casa 会自动配置 Docker 容器、分配端口并设置 Caddy 反向代理。

Cal.com 日程安排平台 在 Web.Casa 上的默认端口是什么?

Cal.com 日程安排平台 在 Web.Casa 上的默认端口为 8294。你可以通过 Web.Casa 的 Caddy 反向代理将其绑定到自定义域名,自动获取 HTTPS 证书。

Cal.com 日程安排平台 安装后可以自动获取 HTTPS 吗?

是的。Web.Casa 基于 Caddy 构建,安装应用后只需绑定域名,Caddy 会自动通过 Let's Encrypt 签发和续期 SSL 证书,全程无需手动配置。

Cal.com 日程安排平台 的数据如何备份?

Web.Casa 内置备份插件,支持将 Cal.com 日程安排平台 的数据自动备份到本地、S3、WebDAV 或 SFTP。你可以设置定时快照和保留策略,确保数据安全。