之前的部署方法太省略了,不适合新手,现在优化一下,全程使用cf和github,无需任何服务器。
前文:https://www.nodeseek.com/post-643306-1
部署指南
方案一:零终端部署(纯浏览器操作)
完全不需要安装任何软件,不需要打开终端/命令行。只需要一个浏览器、GitHub 账户和 Cloudflare 账户(免费)。
步骤 1:Fork 仓库
- 打开 本项目的 GitHub 仓库
- 点击右上角 Fork 按钮
- 确认创建,你会得到自己的仓库副本
步骤 2:创建 Cloudflare TURN Key
TURN 服务让处于严格防火墙后的用户也能连接。
- 登录 Cloudflare Dashboard
- 左侧菜单:媒体 → Realtime → TURN 服务器
- 点击 Create TURN Key(创建 TURN 密钥)
- 记下两个值(后面要用):
- TURN Key ID(一串字母数字,如
a1b2c3d4...) - API Token(点击显示并复制)
- TURN Key ID(一串字母数字,如
步骤 3:创建 Cloudflare SFU App(可选)
SFU 让多人视频通话更高效。如果你只需要文字聊天,可以跳过此步。
- 还在 Realtime 页面,点击 无服务器 SFU
- 点击 Create Application(创建应用)
- 输入名称(如
chitchatter),点击创建 - 记下两个值:
- App ID(如
4b90c609...) - App Secret / Token
- App ID(如
步骤 4:配置 GitHub Secrets
这些密钥让 GitHub Actions 能够部署到你的 Cloudflare 账户。
-
获取 Cloudflare API Token:
- Cloudflare Dashboard → 右上角头像 → 我的个人资料 → API 令牌
- 点击 创建令牌 → 选择 编辑 Cloudflare Workers 模板 → 创建
- 复制生成的 Token
-
获取 Account ID:
- Cloudflare Dashboard 首页,右侧栏可以看到 帐户 ID
- 复制这个 ID
-
在你 Fork 的 GitHub 仓库中设置:
- 进入仓库 → Settings → Secrets and variables → Actions
- 点击 New repository secret,添加两个:
| Secret 名称 | 值 |
|---|---|
CLOUDFLARE_API_TOKEN |
上面获取的 API Token |
CLOUDFLARE_ACCOUNT_ID |
上面获取的 Account ID |
步骤 5:部署 Worker(信令服务器)
Worker 是后端服务,处理信令和 API 请求。
仓库中已经包含了部署工作流文件 .github/workflows/deploy-worker.yml。
- 在仓库页面,点击 Actions 标签
- 如果提示启用 Actions,点击 I understand my workflows, go ahead and enable them
- 左侧选择 Deploy Worker
- 点击 Run workflow → 选择
develop分支 → Run workflow - 等待 1-2 分钟,看到绿色 ✅ 表示部署成功
- 在部署日志中找到 Worker URL,格式如:
记下这个 URL,后面要用。https://chitchatter-signaling.你的子域名.workers.dev
步骤 6:设置 Worker 密钥
把步骤 2、3 获得的密钥配置到 Worker。
- Cloudflare Dashboard → Compute → Workers 和 Pages
- 点击你的 Worker(名称类似
chitchatter-signaling) - 进入 设置 → 变量和机密
- 在 环境变量 部分,逐个添加以下变量(点击 添加,类型选 Secret 密文):
| 变量名 | 值 | 说明 |
|---|---|---|
TURN_KEY_ID |
步骤 2 的 TURN Key ID | TURN 服务认证 |
TURN_KEY_API_TOKEN |
步骤 2 的 API Token | TURN 服务认证 |
SFU_APP_ID |
步骤 3 的 App ID | SFU 服务(可选) |
SFU_APP_SECRET |
步骤 3 的 App Secret | SFU 服务(可选) |
- 点击 部署 (Deploy) 保存
步骤 7:部署前端到 Cloudflare Pages
- Cloudflare Dashboard → Compute → Workers 和 Pages
- 点击 创建 → Pages → 连接到 Git
- 授权 GitHub,选择你 Fork 的
chitchatter仓库 - 配置构建设置:
| 设置项 | 值 |
|---|---|
| 生产分支 (Production branch) | develop |
| 构建命令 (Build command) | npm run build:app |
| 构建输出目录 (Build output directory) | dist |
- 展开 环境变量(高级),添加以下变量:
| 变量名 | 值 | 说明 |
|---|---|---|
NODE_VERSION |
20 |
Node.js 版本 |
VITE_SIGNALING_SERVER_URL |
wss://chitchatter-signaling.你的子域名.workers.dev |
步骤 5 得到的 URL,把 https:// 改为 wss:// |
VITE_RTC_CONFIG_ENDPOINT |
https://chitchatter-signaling.你的子域名.workers.dev/api/get-config |
TURN 配置接口 |
⚠️ 注意:
VITE_SIGNALING_SERVER_URL必须用wss://开头(WebSocket 协议),不是https://
- 点击 保存并部署
- 等待 2-3 分钟构建完成
- 部署成功后获得 URL:
https://你的项目名.pages.dev
步骤 8:配置 CORS(使用自定义域名时)
如果你只使用
.pages.dev默认域名,跳过此步。.pages.dev和localhost自动允许。
使用自定义域名(如 chat.example.com)时:
- Cloudflare Dashboard → Workers 和 Pages → 选择你的 Worker
- 设置 → 变量和机密
- 添加环境变量(类型选 明文 Text):
| 变量名 | 值 |
|---|---|
ALLOWED_ORIGINS |
https://你的自定义域名 |
多个域名用逗号分隔:https://chat.example.com,https://www.example.com
- 点击 部署 (Deploy) 保存
步骤 9:验证
- Worker 健康检查:浏览器打开
https://你的worker.workers.dev/health- 正常返回:
{"status":"ok"}
- 正常返回:
- TURN 配置:打开
https://你的worker.workers.dev/api/get-config- 正常返回 JSON,包含
iceServers数组
- 正常返回 JSON,包含
- 前端:打开你的 Pages URL
- 应显示畅聊界面
- P2P 测试:打开两个浏览器标签,进入同一房间
- 双方应能互相看到并发送消息
🎉 完成!
访问你的域名即可使用。分享房间 URL 给朋友,进入同一房间即可加密聊天。
部署了,帮你们踩了一个坑。按照楼主教程部署完,怎么样都是一直显示服务器连接错误,一遍一遍的对教程,觉得都没错,就联系了作者,作者非常热心,马上找到问题所在。

填变量过程中千万不要在链接后面加/,哈哈哈,避坑。
BD
bd
牛的 建好了
个人也用anytype
webrtc关了是不是就不能用了
确实牛逼
好长啊,你们试。
全部部署完,但是前端界面显示连接服务器失败
最好带截图,说的详细一点,电脑和手机能不能互相连
有时间弄一个