docker pull mongo
docker run -v /home/josh/db:/data/db --name db -d mongo --replSet rs0 --oplogSize 128
docker exec -it db mongosh
rs.initiate()
docker pull rocket.chat
docker run --name rocketchat -p 80:3000 --link db --env ROOT_URL=http://10.3.101.101 --env MONGO_OPLOG_URL=mongodb://db:27017/local -d rocket.chat
docker update --restart=always CONTAINER_ID1 CONTAINER_ID2
版本2
docker run -v /home/josh/db:/data/db --name db -d mongo --replSet rs01
docker exec -it db mongosh
rs.initiate()
docker run --name rocketchat -p 80:3000 --link db --env ROOT_URL=http://10.3.101.101 --env MONGO_OPLOG_URL=mongodb://db:27017/local?replSet=rs01 -d rocket.chat
版本3 (參考官方指令)
https://github.com/RocketChat/Docker.Official.Image/blob/cc14a45a22b8cd668222e29061dfc33274a5572c/compose.yml
docker pull docker.io/bitnami/mongodb
#一定要做,不然沒有權限,就GG了
chmod 777 /var/mongodb
docker run --name mongodb \
-v /var/mongodb:/bitnami/mongodb \
-e MONGODB_REPLICA_SET_MODE=primary \
-e MONGODB_REPLICA_SET_NAME=rs0 \
-e ALLOW_EMPTY_PASSWORD=yes \
-d bitnami/mongodb:latest
#登入測試用,可不用
docker exec -it mongodb mongosh
docker pull registry.rocket.chat/rocketchat/rocket.chat:latest
docker run --name rocketchat \
-p 80:3000 \
--link mongodb \
-e ROOT_URL=http://10.3.101.101 \
-e MONGO_URL=mongodb://mongodb:27017/rocketchat?replicaSet=rs0 \
-e MONGO_OPLOG_URL=mongodb://mongodb:27017/local?replicaSet=rs0 \
-d registry.rocket.chat/rocketchat/rocket.chat
#優化設定
http://10.3.101.101/admin/settings/Accounts
●允許變更姓名–>關閉
●允許用戶變更使用者名稱–>關閉
●允許更改電子郵件–>關閉
●允許隱形狀態選項–>關閉
●2步驟驗證–>啟用兩階段驗證–>關閉
●註冊–>註冊表單–>停用
●註冊–>邀請網址類型–>直接
http://10.3.101.101/admin/settings/General
●網站名稱:TSC IM
●網址:http://10.3.101.101
●NPS–>启用 NPS 问卷调查–>關閉
●報告–>傳送統計資料至 Rocket.Chat–>關閉
●時區–>自訂時區
http://10.3.101.101/admin/settings/Layout
●使用者介面–>顯示角色–>關閉
●使用者介面–>使用真實姓名–>關閉
●使用者介面–>使用全名縮寫來生成預設頭像–>開啟
●使用者介面–>允許 Room 名稱中的特殊字元–>開啟
http://10.3.101.101/admin/settings/LDAP
用戶DN
CN=ldap,OU=TSCS_User,OU=TSCS,DC=tgenergy,DC=com,DC=tw
基準DN
OU=TSCS_User,OU=TSCS,DC=tgenergy,DC=com,DC=tw
過濾
(&(objectclass=person)(company=TSC)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
合併現有使用者:打開
唯一標識欄位
sAMAccountName
名稱欄位
displayName
id同步username
docker exec -i mongodb mongosh < mongo.sh > /dev/null 2>&1
use rocketchat;
db.users.aggregate([
{
$match: {
$expr: { $ne: ["$_id", "$username"] }
}
}
]).forEach(function(doc) {
db.rocketchat_subscription.updateMany(
{ "u._id": doc._id },
{ $set: { "u._id": doc.username } }
);
db.users.updateOne(
{ _id: doc._id },
{ $unset: { "services.resume.loginTokens": 1 } }
);
db.users.deleteOne({ _id: doc._id });
doc._id = doc.username;
delete doc.services.resume.loginTokens;
db.users.insertOne(doc);
});
#樣式調整
http://chat.tscs.com.tw:3000/admin/settings/Layout
自訂 CSS
.rcx-box.rcx-box--full.rcx-sidebar-footer {
display: none;
}
main > div > .rc-scrollbars-container > .rc-scrollbars-view > div > h3 {
display: none;
}
main > div > .rc-scrollbars-container > .rc-scrollbars-view > div > .rcx-grid__wrapper > .rcx-grid {
display: none;
}
#sidebar-region > nav > div > div > .rcx-button-group > button:last-child {
display: none;
}
自訂腳本讓所有未登入的使用者在登入時都會執行。例如. (無論何時登入頁面)
//Add your script
jQuery(function(){
$("form").next().hide();
$("form > footer > p").hide();
$(".rcx-css-17mu816").hide();
$("h1").next().hide();
});
登入介面翻譯(測試中)
/app/bundle/programs/server/assets/app/i18n
{"zh-TW": { "registration.component.form.emailOrUsername": "帳號" }, "zh-TW":{ "registration.component.form.emailPlaceholder": "" } }