udelarinterior.jitsi_meet

jitsi-meet

Galaxy GitHub tag (latest by date) GitHub stars GitHub forks

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

要件

サーバーには既にDNSが向けられており、SSLキーが必要です。ドメインのSSLキーがまだない場合は、geerlingguy.certbot Ansibleロールを使用して、LetsEncryptから(無料の)SSL証明書を取得することを検討してください。

また、Jitsi Meetコンポーネントが動作するためには、TCPの443ポートとUDPの10000ポートを開放する必要があります。このロールでは、jitsi_meet_configure_firewall: trueを設定することでufwを使用してこれらのポートを許可できます。iptablesなどの他のホストベースのファイアウォールソリューションを使用する場合は、jitsi_meet_configure_firewall: falseを維持してください。AWSなどを使用している場合は、関連するセキュリティグループでこれらのポートを開放する必要があります。

ロール変数

########################################
###### 最も重要な変数 ###############
# あなたのケースに合わせて調整する必要があります #
########################################

# SSLがない場合、「localhost」が正しいデフォルトです。SSL情報が提供されている場合、
# それなら本物のドメイン名が必要です。Ansibleが推測するFQDNを使用していますが、
# 短いホスト名を使用する場合、変数値を明示的に設定できます。
# 自動Nginx設定が無効になっている場合もFQDNを使用してください。
jitsi_meet_server_name: "{{ ansible_fqdn | default('localhost') }}"

# 公式ドキュメントからの注意:
# インストーラーはNginxまたはApacheが存在するかを確認し(その順序で)、見つかったWebサーバー内で
# Jitsi Meetを提供するためのバーチャルホストを構成します。何も見つからなかった場合は、デフォルトでNginxになります。
# 同じマシンでポート443でNginxを実行している場合は、turnserver設定をスキップした方が良いです。
# そうしないと、現在のポート443と衝突します。
jitsi_meet_install_recommends: yes

# (jitsi_meet_install_recommends == no) の場合、turnserverはインストールされず、利用できません。
jitsi_meet_use_stun_turn: false

# ピア・ツー・ピア接続で使用されるSTUNサーバー
jitsi_meet_stun_servers:
  - 'meet-jit-si-turnrelay.jitsi.net:443'

# P2Pモードを有効にする
jitsi_meet_enable_p2p_mode: true

# nginxおよびjitsi-meetがIPv6でもリスニングするように設定
jitsi_meet_ipv6_enable: true

# HTTPS証明書を作成して構成し、後でLet's Encrypt証明書に置き換えることができます。
jitsi_meet_cert_choice: "新しい自己署名証明書を生成(後でLet's Encrypt証明書を取得する機会があります)"
# Jitsiインストーラーのスクリプトの動作のため、この値を維持することをお勧めします。

# カスタム証明書をここに設定しないのは、空の文字列が
# カスタムNginx構成タスクをスキップさせてしまうからです。
jitsi_meet_ssl_cert_path: ''
jitsi_meet_ssl_key_path: ''

#############
### NGINX ###
# このロールは、jitsi-meet用のnginxバーチャルホストを自動的に構成します。
# 別のロールでWebバーチャルホストを管理したい場合は、これをfalseに設定してください。
jitsi_meet_configure_nginx: true

# お好みで、他のパスを示すjitsi_meet_nginx.conf.j2テンプレートを使用できます。
jitsi_meet_nginx_config_template:  "jitsi_meet_nginx.conf.j2"


###########################################
# インストールをカスタマイズするのに役立つ他の変数
###########################################

# jitsi-meetのDebianパッケージインストールは、コンポーネント用の秘密を生成します。
# このロールは構成ファイルを読み取り、秘密を保持します。
# 自分の秘密を生成して使用したい場合は、これらの変数を上書きしますが、必ず
# 秘密を安全に保管してください。
jitsi_meet_videobridge_secret: ''
jitsi_meet_jicofo_secret: ''
jitsi_meet_jicofo_password: ''

##################
### APT関連 ###
# jitsi meetをインストールする前に必要なパッケージのリスト。
jitsi_meet_base_packages:
  - apt-transport-https
  - debconf
  - debconf-utils

# Jitsi Meetコンポーネントのナイトリービルドを使用するかどうか。
jitsi_meet_use_nightly_apt_repo: false

jitsi_meet_apt_repos:
  stable:
    repo_url: 'deb https://download.jitsi.org/ stable/'
  unstable:
    repo_url: 'deb https://download.jitsi.org unstable/'

jitsi_meet_apt_key_url: 'https://download.jitsi.org/jitsi-key.gpg.key'
jitsi_meet_apt_key_id: '66A9CD0595D6AFA247290D3BEF8B479E2DC1389C'

# debconf設定は、jitsi-meet debパッケージのインストール中に
# 発生する対話型プロンプトへの回答を表します。
jitsi_meet_debconf_settings:
  - 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
  - name: jitsi-videobridge
    question: jitsi-videobridge/jvb-hostname
    value: "{{ jitsi_meet_server_name }}"
    vtype: string
  - name: jitsi-meet-web-config
    question: jitsi-meet/cert-choice
    value: "{{ jitsi_meet_cert_choice }}"
    vtype: select
  - name: jitsi-meet-web-config
    question: jitsi-meet/cert-path-key
    value: "{{ jitsi_meet_ssl_key_path }}"
    vtype: string
  - name: jitsi-meet-web-config
    question: jitsi-meet/cert-path-crt
    value: "{{ jitsi_meet_ssl_cert_path }}"
    vtype: string


#######################
### サーバーファイアウォール ###
# このロールは、jitsi-meetポートホールの設定でufwを自動的にインストールおよび構成できます。
# 他の方法でファイアウォールを管理している場合はfalseを保持し、ufwタスクはスキップされます。
jitsi_meet_configure_firewall: false

jitsi_meet_firewall_ports_allow:
  tcp:
    - "80"   # HTTP / Lets Encrypt
    - "443"  # HTTPS
  udp:
    - "10000" # Videobridge

# NAT接続をJitsi Meetに構成します。
jitsi_meet_behind_nat_firewall: false
jitsi_meet_nat_private_ip: 127.0.0.1
jitsi_meet_nat_public_ip: 255.255.255.255


##############
### Jicofo ###
# デフォルトの認証情報は、複数のサービステンプレートで使用されます。
jitsi_meet_jicofo_user: focus
jitsi_meet_jicofo_port: 5347
jitsi_meet_jicofo_loglevel: INFO

# お好みで、他のパスを示すjitsi_meet_jicofo_config_templateを使用できます。
jitsi_meet_jicofo_config_template: jicofo_config.j2
jitsi_meet_jicofo_sip_template: jicofo_sip-communicator.properties.j2


###################
### Videobridge ###
# デフォルトの構成ファイルは/etc/jitsi/videobridge/configにあり、JVBのデフォルトポートは「5275」ですが、
# 手動インストールガイドでは「5347」を参照しています。
jitsi_meet_videobridge_port: 5347
jitsi_meet_videobridge_loglevel: INFO
jitsi_meet_videobridge_opts: '--apis=,'

jitsi_meet_videobridge_statistics_enable: true
jitsi_meet_videobridge_statistics_interval: 1000
jitsi_meet_videobridge_statistics_transport: 'muc'

# HTTPS経由でcolibri/statsを公開するためのリバースプロキシを構成します。
jitsi_meet_expose_colibri_stats: false

# 他のサーバーの資格情報を有効にするための辞書型です。
jitsi_meet_videobridge_other_xmpp_servers: {}

# お好みで、他のパスを示すjitsi_meet_videobridge_config_templateを使用できます。
jitsi_meet_videobridge_config_template:  videobridge_config.j2
jitsi_meet_videobridge_sip_template: videobridge_sip-communicator.properties.j2

############
### Meet ###
# "anonymous"を設定すると、誰でもビデオ会議サーバーを使用できます。
jitsi_meet_authentication: anonymous

# プライバシーに配慮した追加機能
jitsi_meet_enable_third_party_requests: true

# Chrome用の画面共有設定
jitsi_meet_desktop_sharing_chrome_method: 'ext'
jitsi_meet_enable_desktop_sharing_chrome: true
jitsi_meet_desktop_sharing_chrome_ext_id: 'diibjkoicjeejcmhdnailmkgecihlobk'

# 他のパスのローカル拡張機能
jitsi_meet_desktop_sharing_chrome_extension_filename: ''

# Firefox用の画面共有設定
jitsi_meet_desktop_sharing_firefox_ext_id: 'null'
jitsi_meet_enable_desktop_sharing_firefox: true
jitsi_meet_desktop_sharing_firefox_max_version_ext_required: '-1'

jitsi_meet_channel_last_n: -1
jitsi_meet_enable_layer_suspension: false
jitsi_meet_start_audio_only: false
jitsi_meet_show_audio_levels: false
jitsi_meet_audio_levels_interval: 200

jitsi_meet_resolution: 480
jitsi_meet_constraints_video_aspect_ratio: "16 / 9"
jitsi_meet_constraints_video_height_ideal: "{{ jitsi_meet_resolution }}"
jitsi_meet_constraints_video_height_max: 720
jitsi_meet_constraints_video_height_min: 240

# お好みで、他のパスを示すjitsi_meet_config_js_templateを使用できます。
jitsi_meet_config_js_template: jitsi_meet_config.js.j2
jitsi_meet_interface_config_js_template: interface_config.js.j2

###################
### SIPゲートウェイ ###
jitsi_meet_configure_sip_gateway: false
jitsi_meet_jigasi_account: [email protected]
jitsi_meet_jigasi_password: fdi49fndKjhe3

########################
### UIカスタマイズ ###
jitsi_meet_customize_the_ui: false

jitsi_meet_lang: 'en'
jitsi_meet_appname: 'アプリ名'
jitsi_meet_org_link: 'https://link-to-my-organization.com'
jitsi_meet_welcomepage_title: '安全で、完全機能を備え、完全に無料のビデオ会議'
jitsi_meet_welcomepage_description: 'さあ、チーム全体でビデオチャットをしましょう。知っている人全員を招待しても大丈夫です。__app__は、1日中、毎日無料で使用できる、完全に暗号化された100%オープンソースのビデオ会議ソリューションです。アカウントは必要ありません。'

# デフォルトでは空文字列ですが、CSSファイルはサイト全体のバンドルファイルであり、
# リリースごとに非常に頻繁に変わります。カスタムCSSファイルがある場合のみ、
# この変数にそのパスを示すと置き換えられます。
jitsi_meet_css_file: ''
jitsi_meet_welcome_page_additions_file: welcomePageAdditionalContent.html.j2
jitsi_meet_title_template: title.html.j2

jitsi_meet_favicon_file: images/favicon.ico
jitsi_meet_logo_file: images/jitsilogo.png
jitsi_meet_watermark_file: images/watermark.png

jitsi_meet_default_background: '#474747'
jitsi_meet_show_video_background: true
jitsi_meet_default_remote_display_name: '仲間のJitster'
jitsi_meet_default_local_display_name: '私'
jitsi_meet_generate_roomnames_on_welcome_page: true
jitsi_meet_lang_detection: false    # システム言語の検出を許可します。

画面共有

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

Chromeは承認されていないウェブサイトからの拡張機能のインストールを禁じているため、.crxファイルを直接ダウンロードし、chrome://extensionsに移動して、ドラッグ&ドロップしてインストールする必要があります。別の参加者に画面共有サポートを提供したい場合は、Jitsi Meetのテキストチャットウィンドウを通じて、拡張機能のURLを共有してください。

依存関係

技術的には依存関係ではありませんが、非常に簡単にSSL証明書を取得するためにgeerlingguy.certbotをチェックすることをお勧めします。

例のPlaybook

あなたのロールの使い方の例(例えば、変数をパラメータとして渡す場合)を含むことは、ユーザーにとっても良いことです:

- name: Jitsi-meetサーバーを構成します。
  hosts: jitsi
  vars:
    # ホストIPのDNSエントリに一致するように変更してください。
    jitsi_meet_server_name: meet.example.com
  roles:
    - role: geerlingguy.certbot
      become: yes
      certbot_create_if_missing: true
      certbot_admin_email: "webmaster@{{ jitsi_meet_server_name }}"
      certbot_certs:
        - domains:
            - "{{ jitsi_meet_server_name }}"
      certbot_create_standalone_stop_services: []

    - role: udelarinterior.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 FoundationUdelaR Interior@santiagomr

プロジェクトについて

Installs Jitsi Meet videoconferencing software

インストール
ansible-galaxy install udelarinterior.jitsi_meet
ライセンス
Unknown
ダウンロード
3.5k
所有者
Red Unidades Informáticas de la UdelaR en el Interior