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 的問題和疑問,請訪問官方儲存庫。