开源日程管理系统Cal.com自托管部署指南,NAS极简配置内网穿透远程访问
作者
小编
发布时间

项目介绍
Cal.com 是一个开源的日程管理和预约调度平台,被誉为 Calendly 的开源替代品。它基于 Next.js、React、Tailwind CSS 和 Prisma 构建,提供了完整的自托管解决方案。无论是个人日程管理、商务会议预约、瑜伽课程排课,还是家庭通话安排,Cal.com 都能胜任。
与商业化的日程工具不同,Cal.com 让你完全掌控自己的数据、工作流程和外观设计。支持白标部署、API 驱动、自定义域名,让你拥有真正属于自己的日程管理系统。无论是自托管还是由官方托管,你都能获得企业级的功能和灵活性。
项目地址:点我跳转
部署安装
如果你想在办公室外也能访问 Cal.com,建议配置内网穿透服务。推荐使用 帕斯内网穿透,先注册账号备用。详细的跨平台部署攻略可以 点我查看,轻松实现远程访问。
使用 Docker 快速部署
打开你的 NAS 设备或 Docker 管理面板
点击'本地镜像'→'添加镜像'→'从 URL 添加'
在镜像地址栏填入:calcom/cal.com:latest
等待镜像下载完成后,点击启动按钮启动容器
端口配置
容器内部端口:3000(这是 Cal.com 的默认访问端口)
主机映射端口:建议设置为 3000,如果该端口已被占用,可修改为其他端口(如 3001、3002 等),但容器内部端口保持 3000 不变
存储配置
Cal.com 需要持久化数据存储,建议在 NAS 上创建以下文件夹并进行映射:
/data - 用于存储数据库和应用数据
在 NAS 管理面板中创建一个名为 cal.com 的文件夹,然后将其映射到容器的 /data 目录
环境变量设置
必须设置:
DATABASE_URL - PostgreSQL 数据库连接字符串(格式:postgresql://user:password@host:port/database)
NEXTAUTH_SECRET - 用于 NextAuth 认证的密钥(可用 openssl rand -base64 32 生成)
CALENDSO_ENCRYPTION_KEY - 数据加密密钥(可用 openssl rand -base64 32 生成)
可选设置:
NEXTAUTH_URL - 应用的外部访问 URL(默认:http://localhost:3000)
NEXT_PUBLIC_LOGGER_LEVEL - 日志级别(0-6,默认:3)
如果你没有 PostgreSQL 数据库,可以使用 Railway.app 或 Render 等服务快速创建云数据库。
勾选'开机自动启动'确保容器在 NAS 重启后自动启动
点击下一步,完成容器启动
访问应用
容器启动成功后,在浏览器中访问 http://你的NAS地址:3000(如果修改了端口号,请使用对应的端口)
使用默认账号登录,即可开始使用 Cal.com 进行日程管理和预约调度
到这里,Cal.com 就已经成功部署并可以正常使用了。
本篇教程结束