用docker安裝視訊會議 jitsi-meet
jitsi 大名鼎鼎, 我們公司用了10年的openfire內部即時通訊(xmpp server), 用戶端就是用jitsi(我都簡稱神燈巨人).
多年前發現 jitsi 有meet套件可以套用在openfire裡面, 使用結果好爛幾乎不能用, 用ubuntu安裝,也一直很不穩定, 改版很頻繁.
隨著新冠病毒出現, 節神 丟出開源視訊這個議題,我才想起應該是時候,要再測試看看了, 試用結果還不錯,可以讓公司的人使用.
**經過多次測試, 建議使用 “虛擬機加單個對外ip網卡” (非docker,無nat) 才能真正穩定 – 2020/05/06
https://github.com/jitsi/docker-jitsi-meet # 先想好要用哪個主機名稱, 先把letsencrypt搞定 certbot-auto certonly --standalone --preferred-challenges http -d <full host name> 1. # root # 下載最新的版本, 複製預設的設定檔案 git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet cp env.example .env 1.1 安全性增加了 ./gen-passwords.sh 2.修改 .env , 視自己docker狀況調整以下參數 CONFIG=~/.jitsi-meet-cfg # Exposed HTTP port HTTP_PORT=8000 # Exposed HTTPS port HTTPS_PORT=8443 # System time zone # 這我調整taipei TZ=Asia/Taipei # Public URL for the web service # 這我是沒調整,因為我是用httpd reverse proxy #PUBLIC_URL=https://<full host name> ENABLE_LETSENCRYPT=1 # 告訴 jitsi 說我的letsencrypt是什麼 LETSENCRYPT_DOMAIN=<full host name> 3.依照.env的 CONFIG 參數, 建立相關目錄 mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb} 4.視情況修改 docker-compose.yml volumes: - ${CONFIG}/web:/config - /etc/letsencrypt:/etc/letsencrypt - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts 5.上線兼啟動(這部份讓人產生錯覺,很快網頁可以連線,但實際上要5分鐘才正常,畢竟用了4個container) docker-compose up -d 6.修改解析度(這我沒怎麼測試,預設是720,為了頻寬著想,所以改480) # ~/.jitsi-meet-cfg 這個目錄依剛開始安裝的.env設定而不同 cd ~/.jitsi-meet-cfg/web vi config.js ## constraints: { video: { aspectRatio: 16 / 9, height: { ideal: 480, max: 480, min: 240 } } },
Optional
1. 啟用認證 # 修改 .env 啟用登入認證(我使用最基本的內部認證, ldap怎麼都不成功...XD) # Enable authentication ENABLE_AUTH=1 # Enable guest access ENABLE_GUESTS=0 # Select authentication type: internal, jwt or ldap AUTH_TYPE=internal 1.1 啟用內部認證後,如何新增使用者 # 進入container docker exec -it docker-jitsi-meet_prosody_1 bash # 建立使用者,後面那串meet.jitsi不需要修改哦 prosodyctl --config /config/prosody.cfg.lua register <使用者名稱> meet.jitsi
2. 增加google日曆功能
1 先想好使用哪個google 帳號讓大家能自由存取,可個人帳號也可使用g suite帳號 建議該帳號的calendar只用來預約會議室使用 2 登入進入 https://console.cloud.google.com/apis/dashboard 新增project,進入Credentials新增 OAuth 2.0 client IDs , 新增後會給你一個client id,記下來 xxxx.apps.googleusercontent.com 3 進入 AAuth consent screen , 設定該 auth 的使用範圍 4 修改 vi ~/.jitsi-meet-cfg/web/config.js 啟用google calendar , 加上先前的client id, enableCalendarIntegration: true, googleApiApplicationClientID:”xxx.apps.googleusercontent.com”, 5.重啟 cd ~/docker-jitsi-meet/ ; docker-compose restart 6 登入jitsi meet 進行相關授權, 若出現未經允許存取calendar,就不管了,允許吧. https://github.com/jitsi/jitsi-meet/blob/master/doc/integrations.md
HI
我是FB上的ALEX,我有自架但發現憑證一直吃不進去,開啟頁面都顯示不安全,另外我NAT對外後,雙方上線無法語音及視訊
1. 用本機的lets encrypt自行註冊,因為我範例docker對應到本機的/etc/letsencrypt
2 nat沒用過,但網站說要設定 docker host name的ip
憑證我是OK了卡在NAT設定冏
public url 要設定NAT的對外的url
.env 裡面的public url 要設定成nat對外的public url
感謝回饋
william大
請教一下 我是用nas 裝docker
然後架jitsi,可以進入jitsi頁面
但是連線一直出錯,而且在設定那也無法啟動麥克風和攝影機(中文顯示未取得授權)
請問是要給它設定帳號密碼才能用嗎?
你好, 我後來也是遇到這種不穩定的狀況, 最後只好用虛擬機單獨安裝ubuntu, 只給一個有對外ip的網卡, 才解決這些奇奇怪怪的現象.
另外請仔細查一下jitsi一直在commit, 變化很大, 可能想嘗試修正nat, docker不穩定的狀況
請問有解決無法取用麥克和攝影機的方法嗎?
請問無法啟用麥克風和攝影機有解嗎?
系統要授權
剛發現原來要使用SSL,或走8443
https開頭的
很好
開啟會議室後 立刻斷線 , 出現您已經被中斷連接,請檢查網路連線 ,為何會這樣?
若是這樣, 建議不要用docker了, 改用實體vm安裝ubuntu , 再安裝jitsi-meet
docker jitsi meet 安裝完成 使用瀏覽器連上去後, 開啟會議室 立刻斷線,出現您已經中斷連接 請檢查網路線,將在17秒後重新連接 ,然後一直重複還是無法連線, 這是什麼原因造成?
換瀏覽器還是不行的話, 就是看看有沒有新版本, 或是如 HUNG WEI JUAN 建議的設定public url ,
最後真的不行, 先不要用docker, 改用vm確認正不正常