freedomofpress.jitsi-meet
jitsi-meet
Jitsi Meetビデオ会議ソフトウェアをインストールして設定します。
要件
サーバーにDNSが設定されていて、SSLキーが必要です。ドメインにSSLキーがまだない場合は、無料のSSL証明書を取得するために、優れたthefinn93.letsencrypt Ansibleロールの使用を検討してください。
また、Jitsi Meetコンポーネントが機能するために、TCPの443ポートとUDPの10000ポートを公開する必要があります。デフォルトでは、このロールはufw
を使用してこれらのポートを許可します。iptablesなどの別のホストベースのファイアウォールソリューションを使用している場合は、jitsi_meet_configure_firewall: false
を設定してください。AWSや同様のサービスを利用している場合は、関連するセキュリティグループでこれらのポートを公開する必要があります。
ロール変数
# デフォルトの証明書ファイルは /var/lib/prosody/localhost.{crt,key} です。
# カスタム証明書用に空の文字列をここに設定すると、
# カスタムNginx設定タスクがスキップされます。
jitsi_meet_ssl_cert_path: ''
jitsi_meet_ssl_key_path: ''
# SSLがない場合、"localhost"が正しいデフォルトです。SSL情報が提供されると、
# 実際のドメイン名が必要になります。Ansibleの推定FQDNを使用していますが、
# より短いホスト名を使用する場合は変数の値を明示的に設定できます。
# 自動Nginx設定が無効になっている場合も、FQDNを使用してください。
jitsi_meet_server_name: "{{ ansible_fqdn if (jitsi_meet_ssl_cert_path or not jitsi_meet_configure_nginx) else 'localhost' }}"
# サポートされているのは「匿名」認証のみで、誰でもビデオ会議サーバーを利用できます。
jitsi_meet_authentication: anonymous
# Debianパッケージによるjitsi-meetのインストールでは、コンポーネント用の秘密が生成されます。
# このロールは設定ファイルを読み取り、テンプレート化中も秘密を保持します。
# 独自の秘密を生成して使用したい場合は、これらの変数を上書きしてくださいが、
# 秘密を安全に保存してください(例:ansible-vaultやcredstashを使用)。
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''
# デフォルトの認証情報で、複数のサービステンプレートで使用されます。
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347
# /etc/jitsi/videobridge/config のデフォルト設定ファイルでは、JVBのデフォルトポートが「5275」と主張していますが、
# 手動インストールガイドでは「5347」に言及しています。
jitsi_meet_videobridge_port: 5347
# 最近追加されたプライバシーに配慮した機能の詳細はこちら:
jitsi_meet_disable_third_party_requests: true
# Chrome用の画面共有設定。特定のドメイン用にブラウザ拡張を構築し、パッケージ化する必要があります。
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'
# ターゲットホストにコピーするためのディスク上のローカル拡張のパス。
# リモートファイル名は、ここに指定したパスのベース名になります。
jitsi_meet_desktop_sharing_chrome_extension_filename: ''
# Firefox用の画面共有設定。最大バージョンを「42」に設定し、無効を「false」にすると、
# Firefoxでの画面共有を利用できます。
jitsi_meet_desktop_sharing_firefox_ext_id: 'null'
jitsi_meet_desktop_sharing_firefox_disabled: true
jitsi_meet_desktop_sharing_firefox_max_version_ext_required: '-1'
# これらのdebconf設定はjitsi-meet debパッケージのインストール中の対話型プロンプトに対する回答を表します。
# カスタムSSL証明書を使用する場合は、追加のオプションを設定する必要があります。
jitsi_meet_debconf_settings:
- name: jitsi-meet
question: jitsi-meet/jvb-hostname
value: "{{ jitsi_meet_server_name }}"
vtype: string
- name: jitsi-meet
question: jitsi-meet/jvb-serve
value: "false"
vtype: boolean
- name: jitsi-meet-prosody
question: jitsi-meet-prosody/jvb-hostname
value: "{{ jitsi_meet_server_name }}"
vtype: string
# このロールは自動的にufwをインストールして設定します。
# もし別の方法でファイアウォールを管理している場合は、これをfalseに設定し、ufwはスキップされます。
jitsi_meet_configure_firewall: true
# このロールは自動的にnginxをインストールし、jitsi-meet用にvhostを設定します。
# 別のロールでWeb vhostsを管理することを好む場合は、これをfalseに設定してください。
jitsi_meet_configure_nginx: true
画面共有
Jitsi Meetはブラウザ拡張を介して画面共有機能をサポートしています。 画面を共有する側の参加者だけが拡張をインストールする必要があり、他の参加者は何もインストールせずに共有された画面を見ることができます。 ChromeやFirefox用のブラウザ拡張を自分で構築する必要があります。 詳細なビルド手順についてはJideshaドキュメントを参照してください。このロールはカスタムChrome拡張でのみテストされています。
Chromeは承認されていないウェブサイトからの拡張のインストールを禁止しているため、.crx
ファイルを直接ダウンロードし、chrome://extensions
に移動して拡張をドラッグ&ドロップしてインストールする必要があります。他の参加者に画面共有をサポートする場合は、Jitsi Meetのテキストチャットパネルを介して拡張のURLを共有してください。
依存関係
技術的には依存関係ではありませんが、驚くほど簡単にSSL証明書を取得できるthefinn93.letsencryptを確認することをお勧めします。
使用例プレスブック
ロールの使用方法の例(たとえば、変数がパラメータとして渡される)を含めることは、ユーザーにとっても便利です:
- name: Jitsi Meetサーバーを設定
hosts: jitsi
vars:
# このCNAMEをホストIPのDNSエントリに合わせて変更します。
jitsi_meet_server_name: meet.example.com
roles:
- role: thefinn93.letsencrypt
become: yes
letsencrypt_email: "webmaster@{{ jitsi_meet_server_name }}"
letsencrypt_cert_domains:
- "{{ jitsi_meet_server_name }}"
tags: letsencrypt
- role: ansible-role-jitsi-meet
jitsi_meet_ssl_cert_path: "/etc/letsencrypt/live/{{ jitsi_meet_server_name }}/fullchain.pem"
jitsi_meet_ssl_key_path: "/etc/letsencrypt/live/{{ jitsi_meet_server_name }}/privkey.pem"
become: yes
tags: jitsi
テストの実行
このロールはMoleculeとServerSpecを使用してテストされます。これを使用するには:
pip install molecule
gem install serverspec
molecule test
選択的なコマンドも実行できます:
molecule idempotence
molecule verify
詳細についてはMoleculeのドキュメントを参照してください。
ライセンス
MIT
著者情報
ansible-galaxy install freedomofpress.jitsi-meet