MongooseIM 架設
Prerequisite
- GKE cluster創建
Deploy
這邊選用官方以helm的方式安裝
helm repo add mongoose https://esl.github.io/MongooseHelm/
helm install my-mongooseim mongoose/mongooseim --set replicaCount=1
簡單安裝這裡就可以跑起來,但登入甚麼的還沒有辦法
Setting
官方說明參考 https://github.com/esl/MongooseHelm/tree/master/MongooseIM
接下來我們要手動創建一個mongooseim.toml作為設定檔 預設設定可以在github內找到
修改完後要吃設定黨紀個加--set-file mimConfig=mongooseim.toml
helm install my-mongooseim mongoose/mongooseim --set replicaCount=1 --set-file mimConfig=mongooseim.toml
- general內hosts可以改成自己的網域
[general]
hosts = ["XXX.YYY.com"]
- 來修改登入認證 sasl_XXX 不確定是哪一個所以都填了,他會每個都嘗試,(其實多部屬幾次試試就知到哪個可以了)
[auth]
methods = ["http"]
password.format = "plain"
sasl_mechanisms = ["external", "plain", "oauth"]
sasl_external = ["standard", "common_name", "auth_id"]
[outgoing_pools.http.auth]
connection.host = "https://[Firebase的機器位置+專案名稱].cloudfunctions.net"
connection.request_timeout = 10000
call_timeout = 10000
- Firebase 新增 Cloud Function
因為我實做是使用者傳Firebase的Token當password
需要實作check_password、user_exists兩個GET Method
兩個的回傳都是True或False