Campfire
Campfire 是由 Basecamp 开发的网页聊天应用。这是一个自包含的应用程序,包含团队沟通所需的所有功能。
功能特色
- 多房间支持:创建和管理具有访问控制的聊天室
- 私人消息:一对一私人对话
- 文件附件:上传和分享文件,支持自动预览
- 搜索功能:在所有对话中查找消息和文件
- 实时更新:无需刷新页面的实时聊天更新
- @提及:使用 @用户名 通知特定用户
- 网页推送通知:即使应用程序关闭也能收到通知(可选)
- API 支持:REST API 用于构建自定义集成和机器人
开始使用
- 部署完成后,使用提供的域名访问您的 Campfire 实例
- 创建您的第一个账户 - 第一个用户将成为管理员
- 创建房间并邀请用户开始聊天
- 可选择使用 VAPID 密钥配置网页推送通知
网页推送通知(可选)
网页推送通知让用户即使在浏览器关闭时也能收到聊天通知。此功能完全可选 - Campfire 在没有此功能的情况下也能完美运行。
选项 1:在线生成器(最简单)
- 访问 https://vapidkeys.com
- 点击「Generate VAPID Keys」
- 复制公钥和私钥
- 在部署时将其粘贴到模板变量中
选项 2:命令行
# 全局安装 web-push
npm install -g web-push
# 生成 VAPID 密钥
web-push generate-vapid-keys
选项 3:部署后配置
如果您在没有 VAPID 密钥的情况下部署,可以稍后添加:
- 使用上述方法之一生成密钥
- 前往您的 Zeabur 项目 → Campfire 服务 → 变量
- 添加
VAPID_PUBLIC_KEY
和 VAPID_PRIVATE_KEY
- 重启服务
SSL 配置
当您将域名绑定到服务时,SSL 会自动处理。应用程序将自动获取和续订 Let's Encrypt 证书。
存储
所有聊天数据、用户信息和文件附件都会自动持久化在 /rails/storage
卷中。这包括:
- 用户账户和身份验证数据
- 聊天消息和房间配置
- 上传的文件和附件
- 应用程序设置和偏好
API 访问
Campfire 提供 REST API 用于构建集成和机器人。部署后,API 文档可在应用程序内获取。
架构
Campfire 是一个自包含的 Rails 应用程序,包含:
- 网页服务器:处理 HTTP/HTTPS 请求
- 数据库:内置 SQLite 用于数据持久化
- 后台作业:内置作业处理用于异步任务
- 文件存储:本地文件系统用于附件
- WebSocket:实时通信支持
支持
如有关于 Campfire 的问题和疑问,请访问官方仓库。