歡迎使用quack - 私人聊天應用程式。
歡迎使用quack ,這是一款專為私人使用而設計的免費開源聊天應用程式。 quack提供易於使用的介面並與 Web 瀏覽器無縫集成,使其成為可從任何具有 Web 瀏覽器的平台(例如 Chrome)存取的漸進式 Web 應用程式。
受到 Slack 的啟發,但更適合私人使用, quack結合了其他通訊器的最佳功能,同時優先考慮隱私和安全。用戶可以託管自己的應用程序,確保完全控制自己的資料。
最快的入門方法是使用 Docker compose。使用以下命令將立即以預設設定啟動應用程式。
docker compose up -d
導航至 http://localhost:8080 並使用預設憑證登入admin / 123
。
若要覆寫預設設置,可以在專案的根目錄中建立chat.config.ts
檔案。您可以使用chat.config.example.ts
作為模板。文件應匯出以下物件:
type Config = {
port ?: number // default `PORT` env otherwise `8080`
sessionSecret ?: string // auto generated on first run to `secrets.json` but can be overwritten here
trustProxy ?: bool | string | number // default `uniquelocal` ref: https://expressjs.com/en/guide/behind-proxies.html
vapid ?: { // auto generated on first run to `secrets.json` but can be overwritten here
publicKey : string
secretKey : string
} ,
databaseUrl ?: string // default `DATABASE_URL` env
cors ?: string [ ] // by default [ 'https?://localhost(:[0-9]{,4})' ],
storage ?: { // Where uploaded files should be stored
type : 'memory' | 'gcs' | 'fs' // default `fs` / `memory` in tests
directory : string // where to save files when type `fs`
bucket : string // bucket name for `gcs`
}
apiUrl ?: string // default 'http://localhost:8080' url of api
appUrl ?: string // default 'http://localhost:8081' url for frontend app
} ;
GOOGLE_APPLICATION_CREDENTIALS
[字串] - (可選)當使用 gcs 儲存方法時
啟動伺服器:
cd ./deno/server
deno task dev
安裝相依性並啟動 React 應用程式:
cd ./app
npm install
npm run dev
開始故事書:
cd ./app
npm install
npm run storybook
目前支援谷歌雲端儲存。若要啟用它,請將設定檔中的fileStorage
設為gcs
指定gcsBucket
並設定GOOGLE_APPLICATION_CREDENTIALS
環境變數。
我們使用無伺服器 MongoDB 實例是因為它的可靠性和成本效益 - 我們只需為我們使用的內容付費。 Mongo Atlas 上提供的最便宜的選項足以滿足應用程式的需要,因為我們不需要任何內部發布/訂閱功能。
如果有一個無伺服器解決方案就好了,但目前最便宜的選擇是使用 GCE。我不知道如何在沒有託管發布/訂閱服務的情況下將訊息傳播到其他無伺服器執行個體。需要託管 MongoDB、Redis 和 Postgres 來監視訊息。也許 Google Cloud Pub/Sub 是個不錯的選擇?
聊天有插件系統。範例插件可以在plugins/example
中找到。如何使用插件和插件掛鉤點待定。
admin / 123
可以使用/invite
命令邀請新用戶,該命令將產生用於用戶註冊的一次性連結。
歡迎貢獻。對於重大更改,請先開啟一個問題來討論您想要更改的內容。確保適當更新測試。
麻省理工學院許可證
版權所有 (c) 2023 CodeCat