oneoffadmins.ansible_role_jitsi_meet

jitsi-meet

Jitsi Meetビデオ会議ソフトウェアをインストールし、設定します。

要件

すでにサーバーにDNSが設定されており、SSLキーが必要です。ドメイン用のSSLキーがまだない場合は、優れたthefinn93.letsencrypt Ansibleロールを使用して(無料!)SSL証明書を取得することを検討してください。

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」を参照しています。
# https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md
jitsi_meet_videobridge_port: 5347

# Jitsi VideobridgeがNATの背後にある場合、ICEを機能させるためにこれらの値を設定します。
jitsi_meet_videobridge_nat:
  local_ip: ''
  public_ip: ''

# 最近のプライバシー配慮のある追加情報。詳細はここを参照:
# https://github.com/jitsi/jitsi-meet/issues/422
# https://github.com/jitsi/jitsi-meet/pull/427
jitsi_meet_disable_third_party_requests: true

# Chrome向けの画面共有設定。自分のドメイン専用のブラウザ拡張
# を構築しパッケージ化する必要があります。詳細はhttps://github.com/jitsi/jideshaを参照。
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'

# ディスク上のローカル拡張のパス。ターゲットホストにコピーします。
# リモートファイル名は、ここで提供されたパスのベース名になります。
jitsi_meet_desktop_sharing_chrome_extension_filename: ''

# Firefox向けの画面共有設定。Firefoxで画面共有を使用したい場合はmax_versionを「42」に設定し、
# disabledを「false」に設定します。
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をインストールし、jitsi-meetのポートホールを設定します。
# 他の方法でファイアウォールを管理している場合は、これをfalseに設定し、ufwはスキップされます。
jitsi_meet_configure_firewall: true

# このロールは自動的にnginxをインストールし、jitsi-meet用のvhostを設定します。
# 別のロールでウェブvhostsを管理したい場合は、これをfalseに設定します。
jitsi_meet_configure_nginx: true

画面共有

Jitsi Meetはブラウザ拡張機能を通じて画面共有機能をサポートしています。 画面を共有する参加者のみが拡張機能をインストールする必要があり、会議に参加している他の参加者は、 何もインストールせずに共有された画面を見ることができます。 ChromeやFirefox用の独自のブラウザ拡張を構築する必要があります。 詳細なビルド手順については、Jideshaのドキュメントを参照してください。このロールはカスタムChrome拡張でのみテストされています。

Chromeは未承認のウェブサイトからの拡張機能のインストールを禁じているため、.crxファイルを直接ダウンロードし、 chrome://extensionsに移動して拡張機能をドラッグアンドドロップしてインストールします。 他の参加者に画面共有をサポートさせたい場合は、拡張機能のURLをJitsi Meetテキストチャットペインで彼らに共有してください。

依存関係

技術的には依存関係ではありませんが、thefinn93.letsencryptは驚くほど簡単にSSL証明書を取得できるため、確認することをお勧めします。

サンプルプレイブック

ロールの使用方法(変数をパラメータとして渡す例)を含めるのは、ユーザーにとっても便利です:

- name: Jitsi Meetサーバーの構成
  hosts: jitsi
  vars:
    # これをホスト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

テストの実行

このロールは、テストにMoleculeServerSpecを使用しています。使用するには次のようにします:

pip install molecule
gem install serverspec
molecule test

特定のコマンドを実行することもできます:

molecule idempotence
molecule verify

詳細については、Moleculeのドキュメントを参照してください。

ライセンス

MIT

著者情報

Freedom of the Press Foundation

プロジェクトについて

Installs Jitsi Meet videoconferencing software

インストール
ansible-galaxy install oneoffadmins.ansible_role_jitsi_meet
ライセンス
Unknown
ダウンロード
98
所有者