icon

Campfire

由 Basecamp 开发的网页聊天应用,支持多房间、私信、文件附件和实时通知功能。

平台Zeabur
部署次数5
发布者leechenghsiu
部署次数5
发布者leechenghsiu
创建于2025-09-13
模版内的服务
service icon
标签
ChatCommunicationTeam CollaborationReal-time

Campfire

Campfire 是由 Basecamp 开发的网页聊天应用。这是一个自包含的应用程序,包含团队沟通所需的所有功能。

功能特色

  • 多房间支持:创建和管理具有访问控制的聊天室
  • 私人消息:一对一私人对话
  • 文件附件:上传和分享文件,支持自动预览
  • 搜索功能:在所有对话中查找消息和文件
  • 实时更新:无需刷新页面的实时聊天更新
  • @提及:使用 @用户名 通知特定用户
  • 网页推送通知:即使应用程序关闭也能收到通知(可选)
  • API 支持:REST API 用于构建自定义集成和机器人

开始使用

  1. 部署完成后,使用提供的域名访问您的 Campfire 实例
  2. 创建您的第一个账户 - 第一个用户将成为管理员
  3. 创建房间并邀请用户开始聊天
  4. 可选择使用 VAPID 密钥配置网页推送通知

网页推送通知(可选)

网页推送通知让用户即使在浏览器关闭时也能收到聊天通知。此功能完全可选 - Campfire 在没有此功能的情况下也能完美运行。

选项 1:在线生成器(最简单)

  1. 访问 https://vapidkeys.com
  2. 点击「Generate VAPID Keys」
  3. 复制公钥和私钥
  4. 在部署时将其粘贴到模板变量中

选项 2:命令行

# 全局安装 web-push
npm install -g web-push

# 生成 VAPID 密钥
web-push generate-vapid-keys

选项 3:部署后配置

如果您在没有 VAPID 密钥的情况下部署,可以稍后添加:

  1. 使用上述方法之一生成密钥
  2. 前往您的 Zeabur 项目 → Campfire 服务 → 变量
  3. 添加 VAPID_PUBLIC_KEYVAPID_PRIVATE_KEY
  4. 重启服务

SSL 配置

当您将域名绑定到服务时,SSL 会自动处理。应用程序将自动获取和续订 Let's Encrypt 证书。

存储

所有聊天数据、用户信息和文件附件都会自动持久化在 /rails/storage 卷中。这包括:

  • 用户账户和身份验证数据
  • 聊天消息和房间配置
  • 上传的文件和附件
  • 应用程序设置和偏好

API 访问

Campfire 提供 REST API 用于构建集成和机器人。部署后,API 文档可在应用程序内获取。

架构

Campfire 是一个自包含的 Rails 应用程序,包含:

  • 网页服务器:处理 HTTP/HTTPS 请求
  • 数据库:内置 SQLite 用于数据持久化
  • 后台作业:内置作业处理用于异步任务
  • 文件存储:本地文件系统用于附件
  • WebSocket:实时通信支持

支持

如有关于 Campfire 的问题和疑问,请访问官方仓库