Zoomのオープンソース版みたいなJitsi Meetのサーバを、実家のミニPC(GMKtec NucBox G2 Plus)のProxmox VE環境上で構築しています。
これを使えば、Zoomとちがって無料でも時間制限なく使えるし、Jitsi Meetの本家サービスとちがってホストになるのにGoogleログインとかもいらないです。そして共用サーバの混雑に左右されないし、通信の秘密も保証されます。
ということで、ネット上の情報を参考にしつつ構築してみたんですが、意外と見つからない情報もあったのでメモしておきます。
ハードウェアスペック
Jitsi Meetサーバの推奨スペックは
RAM:8GB
CPU:4コア
こんな感じなのですが、これはうちのミニPCにはけっこうな重荷。
Debian 12テンプレートのLXCコンテナ上で動かしているんですが、自分対相手の1対1で使うだけだとRAMの使用量は400MBちょっとでCPUの使用率も1%いかないぐらいでした。ということで、
RAM:1GB
CPU:1コア
こういう構成にしてみたんですが、これでも特に通信品質を落とさず問題なく使えています。
HTTPSの待ち受けポートを443/tcpから変更する
セルフホストのJitsi Meetはデフォルト設定だと認証なしで使えてしまうので、HTTPSの待ち受けポート番号が443/tcpのままだと、サーバのホスト名がばれるだけで好き放題使われてしまいます。
ということで、443をたとえば1443に変更したいとします。
でもインターネット接続ルータで1443→443のようなポートフォワードをかけて、見せかけのポート番号だけ変更してもうまく動作しません。
ということで、設定ファイルを変更します。
▼nginxの設定
/etc/nginx/sites-available/(ホスト名).conf
listen 443 ssl http2;
listen [::]:443 ssl http2; # IPv6用
この443を1443に書き換えます。
▼Jitsiの設定
/etc/jitsi/meet/(ホスト名)-config.js
// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: ‘https://(ホスト名)/’ + subdir + ‘http-bind’,// Websocket URL (XMPP)
websocket: ‘wss://(ホスト名)’ + subdir + ‘xmpp-websocket’,
この(ホスト名)を(ホスト名):1443に書き換えます。
/etc/jitsi/videobridge/jvb.conf
domain = “(ホスト名):443”
この443も1443に書き換えます。
これでOSを再起動するとうまくいきました。もともと443と書かれていないところの修正も必要だったのが探しあてにくかったところです。AIでもここまでは教えてくれませんでした。
ちなみにこのHTTPSポート以外に、ルータでは10000/udpを開けておく必要がありました。セキュリティ的に80/tcpを開けるのは抵抗があるので、サーバ証明書はLegoとCloudflareを使ってDNS-01チャレンジ方式で更新するしくみにしています。
コメント