
为什么用 Web.Casa 安装 Cal.com 日程安排平台?
无需手动编写 Docker Compose,Web.Casa 自动配置并启动。
Caddy 自动签发和续期 SSL 证书,反向代理开箱即用。
监控、备份、更新、日志——所有应用在一个面板中管理。
Cal.com (原 Calendso)
开源的 Calendly 继任者。
了解更多 »
Discord
·
网站
·
问题
·
路线图
关于项目
为所有人提供的日程安排基础设施
开源的 Calendly 继任者。您完全掌控自己的数据、工作流和外观。
Calendly 和其他日程安排工具非常棒。它们让我们的生活轻松了许多。我们将其用于商务会议、研讨会、瑜伽课,甚至与家人的通话。然而,大多数工具在控制和定制方面非常有限。
这就是 Cal.com 的用武之地。自托管或由我们托管。设计上支持白标。API 驱动,可部署在您自己的域名上。完全掌控您的事件和数据。
认可
Hacker News
Product Hunt
构建技术
联系我们
如有任何商业咨询,请与我们的销售团队会面。
保持更新
Cal.com 于 2021 年 9 月 15 日正式发布 v1.0 版本,至今我们已经走过了很长的路。关注此仓库的 发布 以获取未来更新通知:

入门指南
要在本地启动并运行副本,请遵循以下简单步骤。
先决条件
以下是运行 Cal.com 所需的条件。
- Node.js (版本: >=18.x)
- PostgreSQL
- Yarn (推荐)
如果您想启用任何可用的集成,可能需要为每个集成获取额外的凭据。更多详细信息可在下面的 集成部分 中找到。
开发
设置
-
将仓库克隆到公共 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
更多详情请参阅 文档。 -
进入项目文件夹
cd cal.com -
使用 yarn 安装包
yarn -
设置您的
.env文件- 复制
.env.example为.env - 使用
openssl rand -base64 32生成密钥,并将其添加到.env文件中的NEXTAUTH_SECRET下。 - 使用
openssl rand -base64 32生成密钥,并将其添加到.env文件中的CALENDSO_ENCRYPTION_KEY下。
- 复制
-
设置 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 设置
-
点击下方按钮在 Gitpod 中打开此项目。
-
这将在您的浏览器中打开一个完全配置好的工作区,所有必要的依赖项都已安装。
手动设置
-
在
.env文件中配置环境变量。将<user>、<pass>、<db-host>和<db-port>替换为相应的值DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'如果您不知道如何配置 DATABASE_URL,请按照以下步骤创建快速本地数据库
-
下载 并在本地安装 postgres(如果尚未安装)。
-
通过执行
createDB <DB name>创建您自己的本地数据库。 -
现在使用您创建的数据库打开 psql shell:
psql -h localhost -U postgres -d <DB name> -
在 psql shell 中执行
\conninfo。您将获得以下信息。
-
现在提取所有信息并将其添加到您的 DATABASE_URL 中。URL 应类似于
postgresql://postgres:postgres@localhost:5432/Your-DB-Name。
如果您不想创建本地数据库,也可以考虑使用 railway.app 或 render 等服务。
-
-
将
.env中的DATABASE_URL复制并粘贴到.env.appStore中。 -
使用 Prisma 模式(位于
packages/prisma/schema.prisma中)设置数据库在开发环境中,运行:
yarn workspace @calcom/prisma db-migrate在生产环境中,运行:
yarn workspace @calcom/prisma db-deploy -
运行 mailhog 以查看开发期间发送的电子邮件
注意: 当
E2E_TEST_MAILHOG_ENABLED为 "1" 时必需docker pull mailhog/mailhog docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog -
运行(开发模式)
yarn dev
设置您的第一个用户
方法 1
-
打开 Prisma Studio 查看或修改数据库内容:
yarn db-studio -
点击
User模型以添加新的用户记录。 -
填写
email、username、password字段,并将metadata设置为空{}(记得使用 BCrypt 加密您的密码),然后点击Save 1 Record创建您的第一个用户。新用户默认设置为
TRIAL计划。您可能需要在packages/prisma/schema.prisma文件中根据您的需求调整此行为。 -
在浏览器中打开 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。你可以设置定时快照和保留策略,确保数据安全。