跳至主要内容

MongooseIM 架設

Prerequisite

  1. 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
  1. general內hosts可以改成自己的網域
[general]
hosts = ["XXX.YYY.com"]
  1. 來修改登入認證 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
  1. Firebase 新增 Cloud Function 因為我實做是使用者傳Firebase的Token當password
    需要實作check_password、user_exists兩個GET Method
    兩個的回傳都是True或False

Reference

MongooseIM-Helm source MongooseIM-Documentation