事象
docker-jitsi-meet_jvb_1を含むコンテナ群を公式サイトに沿ってdocker-composeで起動したところ以下のエラーが定期的にログに出る。
jvb_1 | ... org.jitsi.utils.logging2.LoggerImpl log jvb_1 | SEVERE: Health check failed in PT0S: jvb_1 | java.lang.Exception: Address discovery through STUN failed jvb_1 | at org.jitsi.videobridge.health.Health.performCheck(Health.java:195) jvb_1 | at org.jitsi.health.AbstractHealthCheckService.run(AbstractHealthCheckService.kt:144) jvb_1 | at org.jitsi.utils.concurrent.RecurringRunnableExecutor.run(RecurringRunnableExecutor.java:216) jvb_1 | at org.jitsi.utils.concurrent.RecurringRunnableExecutor.runInThread(RecurringRunnableExecutor.java:292) jvb_1 | at org.jitsi.utils.concurrent.RecurringRunnableExecutor.access$000(RecurringRunnableExecutor.java:36) jvb_1 | at org.jitsi.utils.concurrent.RecurringRunnableExecutor$1.run(RecurringRunnableExecutor.java:328)
環境情報
jitsi/jvb 994bef25ebeb jitsi/jicofo 64799ed3ad2f jitsi/prosody 7d4876346cb0 jitsi/web aa613fa07b69
原因
設定ファイルに到達不能のSTUNサーバの情報が入っている。
$ cat .env | grep -i stun # STUN servers used to discover the server's public IP JVB_STUN_SERVERS=meet-jit-si-turnrelay.jitsi.net:443
上記の接続に失敗しているため、表題のメッセージが表示されなくなる。
以下、補足です。
補足
以下にてDockerを利用してJitsiMeetをインストールしましたが
env.sampleをそのままコピーした場合は.envに該当の設定が残っている場合があります。
以下コマンドを打てば該当コンテナにて
$ docker logs -f docker-jitsi-meet_jvb_1
表題のログが「SEVERE」という扱いで大量に出力されて気になります。
インターネットに接続端末にて該当のホスト名を確認すると確かにTURNサーバが存在しますが
$ ssh -v -p 443 meet-jit-si-turnrelay.jitsi.net ... debug1: Connection established.
上記接続確認が通らない環境ではエラーとなってしまいます。
STUNとはSession Traversal of Udp through Natsの略でNATを介してアクセスするクライアントが存在する際に必要なサーバを指しています。
パケットキャプチャを取れば分かりますが、参加している端末同士でUDPでやり取りをするため、環境によってはSTUN/TURNサーバを用意します。
以上、ご参考になれば幸いです。