#mynavi() #setlinebreak(on); * 目次 [#cdd010a6] #contents - 関連 -- AWSメモ - 参考 -- https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker //-- https://aws.amazon.com/jp/blogs/opensource/getting-started-with-jitsi-an-open-source-web-conferencing-solution/ * EC2インスタンスの作成 [#fd6ddcc4] #html(<div class="pl10">) ** インスタンスの種類 [#mc7120f1] #html(<div class="pl10">) 今回は以下で作成。 | AMI | タイプ |h | Ubuntu Server 18.04 LTS (HVM), SSD Volume Type | t2.micro | #html(</div>) ** インバウンド/アウトバウンド設定 [#j10db4d7] #html(<div class="pl10">) |タイプ|プロトコル|ポート範囲|ソース|h | SSH | TCP | 22 | 0.0.0.0/0 | | HTTPS | TCP | 443 | 0.0.0.0/0, ::/0 | | SSH | TCP | 4443 | 0.0.0.0/0, ::/0 | | SSH | TCP | 10000 | 0.0.0.0/0, ::/0 | #html(</div>) * DNSレコードの編集 [#tf47f52d] #html(<div class="pl10">) DNSレコードを編集し、対象ドメインへのアクセスが作成した EC2 インスタンスに向くようにする。 ※一時的な停止などを行う場合は、ALB作成した方が後々の手間は少ない。 #html(</div>) 以降は、作成したEC2インスタンスにSSHログインし、以下の手順を行っていく。 #html(</div>) * 準備 [#qadd635a] #html(<div class="pl10">) ほぼ https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker に記載されている手順だけでOK。 ** リソース制限の解除 [#c632df02] #html(<div class="pl10">) リソースの制限解除については AWS のドキュメントを参照して設定。 /etc/systemd/system.conf #mycode2(){{ DefaultLimitNOFILE=65000 DefaultLimitNPROC=65000 DefaultTasksMax=65000 }} ※ https://aws.amazon.com/jp/blogs/opensource/getting-started-with-jitsi-an-open-source-web-conferencing-solution/ デーモンリロード #myterm2(){{ systemctl daemon-reload }} #html(</div>) ** docker-compose インストール [#n4433e16] #html(<div class="pl10">) docker-compose を使用する為、事前にインストールしておく。 #myterm2(){{ apt install docker-compose }} #html(</div>) #html(</div>) * Jitsi meet のインストール/セットアップ [#dabe6a2e] #html(<div class="pl10">) ** docker-jitsi-meet の git clone [#ka9c6822] #html(<div class="pl10">) #myterm2(){{ git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet }} #html(</div>) ** .env の作成 [#z5eace03] #html(<div class="pl10">) サンプルをコピーして作成し、必要な所を編集する。 #myterm2(){{ cp env.example .env }} .env #mycode2(){{ HTTP_PORT=80 HTTPS_PORT=443 PUBLIC_URL=https://ドメイン名 ENABLE_LETSENCRYPT=1 LETSENCRYPT_DOMAIN=ドメイン名 LETSENCRYPT_EMAIL=メールアドレス }} #html(</div>) ** パスワード生成 [#c55a3f2a] #html(<div class="pl10">) #myterm2(){{ ./gen-passwords.sh }} ※ .env の JICOFO_COMPONENT_SECRET などが更新される。 #html(</div>) ** ディレクトリ作成 [#q7cc0487] #html(<div class="pl10">) 設定ファイル等を格納するディレクトリを作成しておく #myterm2(){{ mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri} }} #html(</div>) ** 起動 [#ra8b7c55] #html(<div class="pl10">) #myterm2(){{ docker-compose up -d }} #html(</div>) ** Basic認証の追加 [#zbc1bb97] #html(<div class="pl10">) そのままでは誰でも使えてしまうので、一応アクセス制限をかけておく。 上記までの設定で nginx の設定ファイルが以下に出来るようになっているので、これを編集する。 ~/.jitsi-meet-cfg/web/nginx/meet.conf #myterm2(){{ location / { auth_basic "Restricted"; auth_basic_user_file /config/nginx/.htpasswd; } }} .htpasswd の作成 #myterm2(){{ apt install apache2-utils htpasswd -cb ~/.jitsi-meet-cfg/web/nginx/.htpasswd sampleuser samplepw }} コンテナ再起動 #myterm2(){{ docker-compose restart }} #html(</div>) ** 特定ユーザーのみビデオチャットを作成できるようにする [#ec27aaf9] #html(<div class="pl10">) 今回はやっていないが、おそらくこの辺りを参考にすれば出来るのではないかと思われる。 https://jochen.kirstaetter.name/authentication-jitsi-meet/ https://community.jitsi.org/t/enable-authentication/32210 #html(</div>) #html(</div>)