PassNAT LogoPassNAT

开源日程管理系统Cal.com自托管部署指南,NAS极简配置内网穿透远程访问

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

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,如果该端口已被占用,可修改为其他端口(如 30013002 等),但容器内部端口保持 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 就已经成功部署并可以正常使用了。

本篇教程结束