🦈

Jitsi のコンフィグファイル(.env)

2021/12/28に公開

みなさんこんにちは。

本日の話題

OSSのWeb会議システムである、Jitsiのコンフィグファイルの翻訳

.env(stable-6726-1: release)

docker-compose.ymlファイルでDockerコンテナを運用する際の、設定ファイル。
入力して、起動することで、この設定ファイルに記載している情報が、実際のコンフィグファイルに反映される。

# shellcheck disable=SC2034

# Security
#
# Set these to strong passwords to avoid intruders from impersonating a service account
# The service(s) won't start unless these are specified
# Running ./gen-passwords.sh will update .env with strong passwords
# You may skip the Jigasi and Jibri passwords if you are not using those
# DO NOT reuse passwords
侵入者がサービスアカウントになりすますことを防ぐために、これらを強力なパスワードに設定してください
これらが指定されない限り、サービスは開始されません
./gen-passwords.shを実行すると、.envが強力なパスワードで更新されます
パスワードを再利用しないでください
#

# XMPP password for Jicofo client connections
Jicofoクライアント接続用のXMPPパスワード
JICOFO_AUTH_PASSWORD=

# XMPP password for JVB client connections
JVBクライアント接続のXMPPパスワード
JVB_AUTH_PASSWORD=

# XMPP password for Jigasi MUC client connections
JigasiMUCクライアント接続のXMPPパスワード
JIGASI_XMPP_PASSWORD=

# XMPP recorder password for Jibri client connections
Jibriクライアント接続用のXMPPレコーダーパスワード
JIBRI_RECORDER_PASSWORD=

# XMPP password for Jibri client connections
Jibriクライアント接続のXMPPパスワード
JIBRI_XMPP_PASSWORD=

Basic configuration options 基本構成オプション

#
# Basic configuration options
基本構成オプション
#

# Directory where all configuration will be stored
すべての構成が保存されるディレクトリ
CONFIG=~/.jitsi-meet-cfg

# Exposed HTTP port
公開されたHTTPポート
HTTP_PORT=8000

# Exposed HTTPS port
公開されたHTTPSポート
HTTPS_PORT=8443

# System time zone
システムタイムゾーン
TZ=UTC

# Public URL for the web service (required)
WebサービスのパブリックURL(必須)
#PUBLIC_URL=https://meet.example.com

# IP address of the Docker host
# See the "Running behind NAT or on a LAN environment" section in the Handbook:
DockerホストのIPアドレス
ハンドブックの「NATの背後またはLAN環境での実行」セクションを参照してください。
# https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker#running-behind-nat-or-on-a-lan-environment
#DOCKER_HOST_ADDRESS=192.168.1.1

# Control whether the lobby feature should be enabled or not
ロビー機能を有効にするかどうかを制御する
#ENABLE_LOBBY=1

# Control whether the A/V moderation should be enabled or not
A / Vモデレーションを有効にするかどうかを制御します
#ENABLE_AV_MODERATION=1

# Show a prejoin page before entering a conference
会議に参加する前に事前参加ページを表示する
#ENABLE_PREJOIN_PAGE=0

# Enable the welcome page
ウェルカムページを有効にする
#ENABLE_WELCOME_PAGE=1

# Enable the close page
閉じるページを有効にする
#ENABLE_CLOSE_PAGE=0

# Disable measuring of audio levels
オーディオレベルの測定を無効にする
#DISABLE_AUDIO_LEVELS=0

# Enable noisy mic detection
ノイズの多いマイク検出を有効にする
#ENABLE_NOISY_MIC_DETECTION=1

# Enable breakout rooms
小会議室を有効にする
#ENABLE_BREAKOUT_ROOMS=1

Let's Encrypt configuration 設定を暗号化しましょう

awsを利用しているので、とりあえず今のままとしたい。

#
# Let's Encrypt configuration
設定を暗号化しましょう
#

# Enable Let's Encrypt certificate generation
Let'sEncrypt証明書の生成を有効にする
#ENABLE_LETSENCRYPT=1

# Domain for which to generate the certificate
証明書を生成するドメイン
#LETSENCRYPT_DOMAIN=meet.example.com

# E-Mail for receiving important account notifications (mandatory)
重要なアカウント通知を受信するための電子メール(必須)
#LETSENCRYPT_EMAIL=alice@atlanta.net

# Use the staging server (for avoiding rate limits while testing)
ステージングサーバーを使用します(テスト中のレート制限を回避するため)
#LETSENCRYPT_USE_STAGING=1

Etherpad integration (for document sharing) Etherpad統合(ドキュメント共有用)

Jitsi参加者間で、Etherpadを利用できそう。

#
# Etherpad integration (for document sharing)
Etherpad統合(ドキュメント共有用)
#

# Set etherpad-lite URL in docker local network (uncomment to enable)
dockerローカルネットワークにetherpad-lite URLを設定します(コメントを解除して有効にします)
#ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001

# Set etherpad-lite public URL (uncomment to enable)
etherpad-liteパブリックURLを設定します(コメントを解除して有効にします)
#ETHERPAD_PUBLIC_URL=https://etherpad.my.domain

# Name your etherpad instance!
etherpadインスタンスに名前を付けます!
ETHERPAD_TITLE=Video Chat

# The default text of a pad
パッドのデフォルトテキスト
ETHERPAD_DEFAULT_PAD_TEXT="Welcome to Web Chat!\n\n"

# Name of the skin for etherpad
etherpadのスキンの名前
ETHERPAD_SKIN_NAME=colibris

# Skin variants for etherpad
etherpadのスキンバリアント
ETHERPAD_SKIN_VARIANTS="super-light-toolbar super-light-editor light-background full-width-editor"

Basic Jigasi configuration options (needed for SIP gateway support) 基本的なJigasi構成オプション

SIPサーバーは、JitsiとSIP Phoneの連携に利用。
ちょっと調べたところによると、通信が重たくなりそう。

#
# Basic Jigasi configuration options (needed for SIP gateway support)
基本的なJigasi構成オプション(SIPゲートウェイのサポートに必要)
#

# SIP URI for incoming / outgoing calls
着信/発信のSIP URI
#JIGASI_SIP_URI=test@sip2sip.info

# Password for the specified SIP account as a clear text
クリアテキストとして指定されたSIPアカウントのパスワード
#JIGASI_SIP_PASSWORD=passw0rd

# SIP server (use the SIP account domain if in doubt)
SIPサーバー(疑わしい場合はSIPアカウントドメインを使用)
#JIGASI_SIP_SERVER=sip2sip.info

# SIP server port
SIPサーバーポート
#JIGASI_SIP_PORT=5060

# SIP server transport
SIPサーバートランスポート
#JIGASI_SIP_TRANSPORT=UDP

Authentication configuration 認証構成

認証方法は調査する必要あり。LDAPは社内システム用ですかね。

#
# Authentication configuration (see handbook for details)
認証構成(詳細はハンドブックを参照)
#

# Enable authentication
認証を有効にする
#ENABLE_AUTH=1

# Enable guest access
ゲストアクセスを有効にする
#ENABLE_GUESTS=1

# Select authentication type: internal, jwt or ldap
認証タイプを選択します:internal、jwtまたはldap
#AUTH_TYPE=internal

JWT authentication JWT認証

#
# JWT authentication
JWT認証
#

# Application identifier
アプリケーション識別子
#JWT_APP_ID=my_jitsi_app_id

# Application secret known only to your token generator
トークンジェネレーターだけが知っているアプリケーションシークレット
#JWT_APP_SECRET=my_jitsi_app_secret

# (Optional) Set asap_accepted_issuers as a comma separated list
(オプション)asap_accepted_issuersをコンマ区切りのリストとして設定します
#JWT_ACCEPTED_ISSUERS=my_web_client,my_app_client

# (Optional) Set asap_accepted_audiences as a comma separated list
(オプション)asap_accepted_audiencesをコンマ区切りのリストとして設定します
#JWT_ACCEPTED_AUDIENCES=my_server1,my_server2

LDAP authentication LDAP認証

#
# LDAP authentication (for more information see the Cyrus SASL saslauthd.conf man page)
LDAP認証(詳細については、Cyrus SASL saslauthd.confのマニュアルページを参照してください)
#

# LDAP url for connection
接続用のLDAP URL
#LDAP_URL=ldaps://ldap.domain.com/

# LDAP base DN. Can be empty
LDAPベースDN。空にすることができます
#LDAP_BASE=DC=example,DC=domain,DC=com

# LDAP user DN. Do not specify this parameter for the anonymous bind
LDAPユーザーDN。匿名バインドにこのパラメーターを指定しないでください
#LDAP_BINDDN=CN=binduser,OU=users,DC=example,DC=domain,DC=com

# LDAP user password. Do not specify this parameter for the anonymous bind
LDAPユーザーパスワード。匿名バインドにこのパラメーターを指定しないでください
#LDAP_BINDPW=LdapUserPassw0rd

# LDAP filter. Tokens example:
# %1-9 - if the input key is user@mail.domain.com, then %1 is com, %2 is domain and %3 is mail
# %s - %s is replaced by the complete service string
# %r - %r is replaced by the complete realm string
LDAPフィルター。トークンの例:
%1-9-入力キーがuser@mail.domain.comの場合、%1はcom、%2はドメイン、%3はメールです。
%s-%sは完全なサービス文字列に置き換えられます
%r-%rは完全なレルム文字列に置き換えられます
#LDAP_FILTER=(sAMAccountName=%u)

# LDAP authentication method
LDAP認証方式
#LDAP_AUTH_METHOD=bind

# LDAP version
LDAPバージョン
#LDAP_VERSION=3

# LDAP TLS using
LDAP TLS を使用
#LDAP_USE_TLS=1

# List of SSL/TLS ciphers to allow
許可するSSL / TLS暗号のリスト
#LDAP_TLS_CIPHERS=SECURE256:SECURE128:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC

# Require and verify server certificate
サーバー証明書を要求して検証する
#LDAP_TLS_CHECK_PEER=1

# Path to CA cert file. Used when server certificate verify is enabled
CA証明書ファイルへのパス。サーバー証明書の検証が有効になっている場合に使用されます
#LDAP_TLS_CACERT_FILE=/etc/ssl/certs/ca-certificates.crt

# Path to CA certs directory. Used when server certificate verify is enabled
CAcertsディレクトリへのパス。サーバー証明書の検証が有効になっている場合に使用されます
#LDAP_TLS_CACERT_DIR=/etc/ssl/certs

# Wether to use starttls, implies LDAPv3 and requires ldap:// instead of ldaps://
starttlsを使用するかどうか、LDAPv3を意味し、ldaps://の代わりにldap://が必要です
# LDAP_START_TLS=1

Advanced configuration options 高度な構成オプション

MUCはMulti-User Chatでしょうか。

#
# Advanced configuration options (you generally don't need to change these)
高度な構成オプション(通常、これらを変更する必要はありません)
#

# Internal XMPP domain
内部XMPPドメイン
XMPP_DOMAIN=meet.jitsi

# Internal XMPP server
内部XMPPサーバー
XMPP_SERVER=xmpp.meet.jitsi

# Internal XMPP server URL
内部XMPPサーバーのURL
XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280

# Internal XMPP domain for authenticated services
認証されたサービスの内部XMPPドメイン
XMPP_AUTH_DOMAIN=auth.meet.jitsi

# XMPP domain for the MUC
MUCのXMPPドメイン
XMPP_MUC_DOMAIN=muc.meet.jitsi

# XMPP domain for the internal MUC used for jibri, jigasi and jvb pools
jibri、jigasi、およびjvbプールに使用される内部MUCのXMPPドメイン
XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi

# XMPP domain for unauthenticated users
認証されていないユーザーのXMPPドメイン
XMPP_GUEST_DOMAIN=guest.meet.jitsi

# Comma separated list of domains for cross domain policy or "true" to allow all
# The PUBLIC_URL is always allowed
クロスドメインポリシーのドメインのカンマ区切りリスト、またはすべてを許可する「true」
PUBLIC_URLは常に許可されます
#XMPP_CROSS_DOMAIN=true

# Custom Prosody modules for XMPP_DOMAIN (comma separated)
XMPP_DOMAIN用のカスタムProsodyモジュール(カンマ区切り)
XMPP_MODULES=

# Custom Prosody modules for MUC component (comma separated)
MUCコンポーネント用のカスタム韻律モジュール(カンマ区切り)
XMPP_MUC_MODULES=

# Custom Prosody modules for internal MUC component (comma separated)
内部MUCコンポーネント用のカスタム韻律モジュール(カンマ区切り)
XMPP_INTERNAL_MUC_MODULES=

# MUC for the JVB pool
JVBプールのMUC
JVB_BREWERY_MUC=jvbbrewery

# XMPP user for JVB client connections
JVBクライアント接続用のXMPPユーザー
JVB_AUTH_USER=jvb

# STUN servers used to discover the server's public IP
サーバーのパブリックIPを検出するために使用されるSTUNサーバー
JVB_STUN_SERVERS=meet-jit-si-turnrelay.jitsi.net:443

# Media port for the Jitsi Videobridge
JitsiVideobridgeのメディアポート
JVB_PORT=10000

# TCP Fallback for Jitsi Videobridge for when UDP isn't available
UDPが利用できない場合のJitsiVideobridgeのTCPフォールバック
JVB_TCP_HARVESTER_DISABLED=true
JVB_TCP_PORT=4443
JVB_TCP_MAPPED_PORT=4443

# XMPP user for Jicofo client connections.
# NOTE: this option doesn't currently work due to a bug
Jicofoクライアント接続用のXMPPユーザー。
注:このオプションは現在、バグのために機能しません
JICOFO_AUTH_USER=focus

# Base URL of Jicofo's reservation REST API
Jicofoの予約RESTAPIのベースURL
#JICOFO_RESERVATION_REST_BASE_URL=http://reservation.example.com

# Enable Jicofo's health check REST API (http://<jicofo_base_url>:8888/about/health)
JicofoのヘルスチェックREST APIを有効にする(http:// <jicofo_base_url>:8888 / about / health)
#JICOFO_ENABLE_HEALTH_CHECKS=true

JIGASI 設定

Jigasi:JitsiMeet会議へのゲートウェイとして機能するサーバー側アプリケーション。
現在、通常のSIPクライアントが会議に参加できるようにし、音声文字変換機能を提供しています。
とのこと。

# XMPP user for Jigasi MUC client connections
JigasiMUCクライアント接続用のXMPPユーザー
JIGASI_XMPP_USER=jigasi

# MUC name for the Jigasi pool
JigasiプールのMUC名
JIGASI_BREWERY_MUC=jigasibrewery

# Minimum port for media used by Jigasi
Jigasiが使用するメディアの最小ポート
JIGASI_PORT_MIN=20000

# Maximum port for media used by Jigasi
Jigasiが使用するメディアの最大ポート
JIGASI_PORT_MAX=20050

# Enable SDES srtp
SDESsrtpを有効にする
#JIGASI_ENABLE_SDES_SRTP=1

# Keepalive method
キープアライブメソッド
#JIGASI_SIP_KEEP_ALIVE_METHOD=OPTIONS

# Health-check extension
ヘルスチェック拡張機能
#JIGASI_HEALTH_CHECK_SIP_URI=keepalive

# Health-check interval
ヘルスチェック間隔
#JIGASI_HEALTH_CHECK_INTERVAL=300000
#
# Enable Jigasi transcription
Jigasi文字起こしを有効にする
#ENABLE_TRANSCRIPTIONS=1

# Jigasi will record audio when transcriber is on [default: false]
転写装置がオンの場合、Jigasiは音声を録音します[デフォルト:false]
#JIGASI_TRANSCRIBER_RECORD_AUDIO=true

# Jigasi will send transcribed text to the chat when transcriber is on [default: false]
文字起こしがオンの場合、Jigasiは文字起こしされたテキストをチャットに送信します[デフォルト:false]
#JIGASI_TRANSCRIBER_SEND_TXT=true

# Jigasi will post an url to the chat with transcription file [default: false]
Jigasiは、文字起こしファイルを使用してチャットにURLを投稿します[デフォルト:false]
#JIGASI_TRANSCRIBER_ADVERTISE_URL=true

# Credentials for connect to Cloud Google API from Jigasi
# Please read https://cloud.google.com/text-to-speech/docs/quickstart-protocol
# section "Before you begin" paragraph 1 to 5
# Copy the values from the json to the related env vars
JigasiからCloud GoogleAPIに接続するためのクレデンシャル
https://cloud.google.com/text-to-speech/docs/quickstart-protocolをお読みください
セクション「始める前に」段落1から5
jsonから関連するenv変数に値をコピーします
#GC_PROJECT_ID=
#GC_PRIVATE_KEY_ID=
#GC_PRIVATE_KEY=
#GC_CLIENT_EMAIL=
#GC_CLIENT_ID=
#GC_CLIENT_CERT_URL=

Enable recording 録音を有効にする

Jibriは、JitsiMeet会議を録音またはストリーミングするためのサービスを提供します。
とのこと。

# Enable recording
録音を有効にする
#ENABLE_RECORDING=1

# XMPP domain for the jibri recorder
ジブリレコーダーのXMPPドメイン
XMPP_RECORDER_DOMAIN=recorder.meet.jitsi

# XMPP recorder user for Jibri client connections
Jibriクライアント接続用のXMPPレコーダーユーザー
JIBRI_RECORDER_USER=recorder

# Directory for recordings inside Jibri container
Jibriコンテナ内の録音用ディレクトリ
JIBRI_RECORDING_DIR=/config/recordings

# The finalizing script. Will run after recording is complete
ファイナライズスクリプト。録音が完了した後に実行されます
#JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/config/finalize.sh

# XMPP user for Jibri client connections
Jibriクライアント接続用のXMPPユーザー
JIBRI_XMPP_USER=jibri

# MUC name for the Jibri pool
JibriプールのMUC名
JIBRI_BREWERY_MUC=jibribrewery

# MUC connection timeout
MUC接続タイムアウト
JIBRI_PENDING_TIMEOUT=90

# When jibri gets a request to start a service for a room, the room
# jid will look like: roomName@optional.prefixes.subdomain.xmpp_domain
# We'll build the url for the call by transforming that into:
# https://xmpp_domain/subdomain/roomName
# So if there are any prefixes in the jid (like jitsi meet, which
# has its participants join a muc at conference.xmpp_domain) then
# list that prefix here so it can be stripped out to generate
# the call url correctly
jibriが部屋のサービスを開始するリクエストを受け取ると、部屋のjidは次のようになります。roomName@ optional.prefixes.subdomain.xmpp_domain
これを次のように変換して、呼び出しのURLを作成します。
https:// xmpp_domain / subdomain / roomName
したがって、jidにプレフィックスがある場合(参加者がconference.xmpp_domainでmucに参加するjitsi Meetのように)、
そのプレフィックスをここにリストして、コールURLを正しく生成するために削除できるようにします。
JIBRI_STRIP_DOMAIN_JID=muc

# Directory for logs inside Jibri container
Jibriコンテナ内のログのディレクトリ
JIBRI_LOGS_DIR=/config/logs

TURN サーバー設定

# Configure an external TURN server
外部TURNサーバーを構成する
# TURN_CREDENTIALS=secret
# TURN_HOST=turnserver.example.com
# TURN_PORT=443
# TURNS_HOST=turnserver.example.com
# TURNS_PORT=443

# Disable HTTPS: handle TLS connections outside of this setup
HTTPSを無効にする:この設定以外のTLS接続を処理する
#DISABLE_HTTPS=1

# Enable FLoC
# Opt-In to Federated Learning of Cohorts tracking
FLoCを有効にする
コホート追跡の連合学習へのオプトイン
#ENABLE_FLOC=0

# Redirect HTTP traffic to HTTPS
# Necessary for Let's Encrypt, relies on standard HTTPS port (443)
HTTPトラフィックをHTTPSにリダイレクトする
Let's Encryptに必要、標準のHTTPSポート(443)に依存
#ENABLE_HTTP_REDIRECT=1

# Send a `strict-transport-security` header to force browsers to use
# a secure and trusted connection. Recommended for production use.
# Defaults to 1 (send the header).
`strict-transport-security`ヘッダーを送信して、ブラウザに使用を強制します
安全で信頼できる接続。実稼働での使用をお勧めします。
デフォルトは1(ヘッダーを送信)。
# ENABLE_HSTS=1

# Enable IPv6
# Provides means to disable IPv6 in environments that don't support it (get with the times, people!)
IPv6を有効にする
IPv6をサポートしていない環境でIPv6を無効にする手段を提供します(時代に合わせてください!)
#ENABLE_IPV6=1

# Container restart policy
# Defaults to unless-stopped
コンテナ再起動ポリシー
デフォルトはunless-stopped
RESTART_POLICY=unless-stopped

# Authenticate using external service or just focus external auth window if there is one already.
外部サービスを使用して認証するか、外部認証ウィンドウがすでに存在する場合はそれをフォーカスします。
# TOKEN_AUTH_URL=https://auth.meet.example.com/{room}

# Sentry Error Tracking
# Sentry Data Source Name (Endpoint for Sentry project)
# Example: https://public:private@host:port/1
セントリーエラートラッキング
Sentryデータソース名(Sentryプロジェクトのエンドポイント)
例:https:// public:private @ host:port / 1
#JVB_SENTRY_DSN=
#JICOFO_SENTRY_DSN=
#JIGASI_SENTRY_DSN=

# Optional environment info to filter events
イベントをフィルタリングするためのオプションの環境情報
#SENTRY_ENVIRONMENT=production

# Optional release info to filter events
イベントをフィルタリングするためのオプションのリリース情報
#SENTRY_RELEASE=1.0.0

# Optional properties for shutdown api
シャットダウンAPIのオプションのプロパティ
#COLIBRI_REST_ENABLED=true
#SHUTDOWN_REST_ENABLED=true

今回の所要時間

翻訳は1時間くらい。
Jitsiは多機能ですが、すべての機能が、安定して動作するかはOSSなので、確約はないと予想しています。
TURNサーバーは作っていく必要がありますね。
後は、設定パラメーターの設定範囲に何があるかを見つける必要がありますね。

本日は下準備まで。

Discussion