日程安排工具Cal.com的安装
什么是 Cal.com (原 Calendso) ?
Cal.com
是一个现代化、灵活且功能强大的开源日程管理平台,旨在为用户提供全面的控制权和定制能力,是适合每个人的活动日程安排程序,被誉为Calendly
的继任者。它的最大特点是完全开源,用户可以完全掌控自己的数据、工作流程和外观设计。
Cal.com
就是三年前老苏介绍过的 Calendso
。之所以重新写,是因为有网友反馈折腾不成功。老苏抽空看了一下,确实变化有点大。很有必要更新下文档,来适应现在的镜像
文章传送门:日程安排工具Calendso
准备工作
因为要和第三方应用集成,比如老苏选择了 Outlook Calendar
,其中的回调地址,必须是可公网访问的 https
协议地址,所以我们第一步需要通过反代处理,实现 https
协议,第二步是获取到Microsoft Graph
客户端 ID
和密钥。
当然你只打算局域网随便用用,这一步可能是非必须的,但老苏没测试过,行不行你得自己试试才知道
反向代理
准备好两个子域名。
不能用
tailscale + npm
方案,因为tailscale
是私有地址
域名 | 局域网地址 | 备注 |
---|---|---|
cal.laosu.tech |
http://192.168.0.197:5554 |
Cal.com 的访问地址 |
api.laosu.tech |
http://192.168.0.197:5555 |
API 的访问地址 |
没有什么特殊设置,所以就不放图了
集成 Outlook Calendar
可以参考 Calendso
的 集成 Outlook 日历
章节,这里就不赘述了
也可以参考官方文档:https://github.com/calcom/cal.com#obtaining-microsoft-graph-client-id-and-secret
官方的文档的集成(Integrations
)比较全,如果你要集成其他的应用,例如 Google
,也可以参考
安装
在群晖上以 Docker 方式安装。
env.txt
env.txt
中是 Cal.com
的环境变量文件,包含了需要的设置
1 | # Set this value to 'agree' to accept our license: |
源文件在:https://github.com/calcom/docker/blob/main/.env.example
这里老苏只简单介绍几个改了的参数
NEXT_PUBLIC_WEBAPP_URL
:用我们前面反代的Cal.com
的访问地址;NEXT_PUBLIC_API_V2_URL
:在我们设置的API
访问地址后面还有加上/api/v2
NEXTAUTH_SECRET
:密钥,可以用openssl rand -base64 32
来生成;CALENDSO_ENCRYPTION_KEY
:用于加密CalDAV
凭据的加密密钥;POSTGRES_
和DATABASE
:为数据库设置;POSTGRES_USER
:数据库用户;POSTGRES_PASSWORD
:数据库用户对应的密码;POSTGRES_DB
:数据库库名;DATABASE_HOST
:包含主机和端口;DATABASE_URL
:数据库访问地址;
MS_GRAPH_CLIENT_ID
:填入你的Microsoft Graph
客户端ID
;MS_GRAPH_CLIENT_SECRET
:填入你的Microsoft Graph
密钥;EMAIL_FROM
:邮件发送用户;EMAIL_SERVER_
:邮件相关设置,还是以88
邮箱为例EMAIL_SERVER_HOST
:SMTP
服务器地址;EMAIL_SERVER_PORT
:SMTP
服务器端口;EMAIL_SERVER_USER
:邮件发送用户;EMAIL_SERVER_PASSWORD
:邮件中设置的第三方客户端密码;
docker-compose.yml
源文件在:https://github.com/calcom/docker/blob/main/docker-compose.yaml
老苏做了必要的微调,请将下面的内容保存为 docker-compose.yml
文件
1 | # Use postgres/example user/password credentials |
然后执行下面的命令
1 | # 新建文件夹 calcom 和 子目录 |
运行
在浏览器中输入 https://cal.laosu.tech
,开始刷总是错误
老苏用的
cloudflared + npm
,所以错误界面和局域网访问不一样
从日志看,启动时间
到出现向导界面
差不多用了半小时,首先要设置管理员用户
个人用的话,AGPLv3 License
是免费的
选择与 Cal.com
集成的应用程序,不知道怎么设的话,保持默认就可以
进入主界面
第一次还需要设置一些基本信息
选择集成的日历
根据我们的设置,选择了 Outlook Calendar
,会需要登录认证
认证成功后
选择视频应用,老苏没有,直接选 Set up later
跳过了
设置你的可预约时间
默认是周一到周五,每天早上
9
点到下午5
点
最后是个人简介,照片
终于完成了
进入左下角的 Setting
–> General
–> Language
,下拉找到中文
Update
之后,界面就是中文了
根据我们的设置,访客可以看到的界面是下面👇这样的
可以根据我们开放的时间段进行预约
参考文档
calcom/cal.com: Scheduling infrastructure for absolutely everyone.
地址:https://github.com/calcom/cal.comcalcom/docker: The Docker configuration for Cal.com is an effort powered by people within the community. Cal.com, Inc. does not provide official support for Docker, but we will accept fixes and documentation. Use at your own risk.
地址:https://github.com/calcom/dockerCal.com | Open Scheduling Infrastructure
地址:https://cal.com/zh-CNcalcom/cal.com - Docker Image | Docker Hub
地址:https://hub.docker.com/r/calcom/cal.comIntroduction - Cal.com Docs
地址:https://cal.com/docs/developing/introductionWelcome | Design
地址:https://design.cal.com/