#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>)

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS