設定

senca-node のすべてのオプション、設定ファイル(JSON)の書き方、クラスターの設定、環境変数、データディレクトリの中身をまとめたリファレンスです。

はじめに

このページの見出し
  1. 基本的な規則
  2. オプション
  3. 設定ファイル(JSON)
  4. クラスターの設定
  5. 環境変数
  6. データディレクトリ
  7. 関連するページ

senca-node の設定は、コマンドラインのオプションか、--config FILE で渡す JSON ファイルで行います。両方あればオプションが勝ちます。手元で一覧を見たいときは senca-node --help を使ってください。

本番に置く前に、少なくとも 2 つは必ず決めてください。1 つは --data-dir で、設定と状態、録画、シークレットを暗号化する鍵がここに保存されます。もう 1 つは公開 URL(外から見たときの URL)で、待ち受けるアドレスとは別に指定する必要があります。

基本的な規則

オプションは --name value の形で書きます。--name=value とは書けません。値を取らないのは --capture-synthetic・--verify-recordings・--log-json・--rooms-cascade の 4 つだけです。

知らないオプションがあれば使い方を表示して終了します(終了コード 2)。設定に誤りがあるときも同じで、正しい部分だけで起動することはありません。

--config FILE を指定すると、先にその JSON を読み、そのあとでコマンドラインのオプションで上書きします。--config をオプションの前に書いても後に書いても結果は同じです。

待ち受けるアドレスは 0.0.0.0:1935 や [::]:8080 のように IP:ポート で書き、ホスト名は使えません。--http 以外は off で待ち受けをやめられます。

このほか、--help(-h)は使い方を表示して終了します。--healthcheck URL を最初の引数に置くと、ノードを起動せずにヘルスチェックだけを行います(運用 を参照)。

オプション

待ち受けるアドレス

オプション値既定説明
--httpADDR0.0.0.0:8080HTTP の待ち受けです。管理 API(/api/v1)、SSE、署名付きの HLS(/s/...)、WHIP/WHEP、シグナリング(/signaling)、管理画面、/healthz、/readyz はすべてここで受け付けます。無効にはできません
--httpsADDR|off無効HTTPS の待ち受けです。受け付ける内容は HTTP と同じです。--tls-cert と --tls-key が必要です
--rtmpADDR|off0.0.0.0:1935RTMP の待ち受けです。配信(publish)と再生(play)の両方を受け付けます
--rtmpsADDR|off無効RTMPS の待ち受けです。--tls-cert と --tls-key が必要です
--srtADDR|off無効SRT の待ち受けです(UDP)
--rtspADDR|off無効RTSP での再生(play)の待ち受けです(TCP)
--webrtc-udpADDR|off無効WebRTC で使う UDP のポートです。WHIP・WHEP・ルームで共用します。0.0.0.0:ポート で待ち受けると、ノードのネットワークインターフェースのアドレス(ループバックを除く)を ICE の候補として相手に知らせます。特定のアドレスで待ち受けると、そのアドレスを知らせます
--webrtc-public-ipIP[,IP…]なしICE の候補として相手に知らせる IP アドレスです。ポートは --webrtc-udp のものを使います。8 個まで指定でき、オプションを繰り返して書くこともできます。NAT や Docker の内側で動かすときのように、相手から見えるアドレスが待ち受けるアドレスと違う場合に指定します
--quicADDR|off無効QUIC v1 の UDP ポートです。1 つのポートで、HTTP/3(ALPN h3)、WebTransport、MoQ draft-22(ALPN moqt-22。WebTransport では /moq)を受け付けます。HTTP/3 で使えるパスは、SSE と /signaling を除いて HTTP と同じです。--tls-cert と --tls-key が必要です。有効にすると、HTTP・HTTPS の応答に Alt-Svc: h3=":ポート" が付きます(取り込みと再生 の「MoQ と HTTP/3」を参照)
--tls-certFILEなし--https・--rtmps・--quic で使う証明書チェーンです(PEM 形式。先頭にサーバー証明書を置きます)
--tls-keyFILEなし上の証明書の秘密鍵です(PEM 形式)。サーバー証明書の公開鍵と対にならない鍵を指定すると、起動しません

公開 URL

API の応答(ingest)や再生 URL に書き込まれる、外から見たときの URL です。待ち受けるアドレスからは自動で決まらないので、別に指定します。

オプション既定使われる場所
--public-http-urlhttp://127.0.0.1:8080再生 URL の hls・whep、ingest.whip_url
--public-rtmp-urlrtmp://127.0.0.1:1935ingest.rtmp_url({URL}/live)、再生 URL の rtmp({URL}/play/{id}?...)
--public-srt-urlなしingest.srt_url(指定した値をそのまま使います)。指定しない場合、srt_url は応答に含まれません
--public-rtsp-urlなし再生 URL の rtsp({URL}/live/{id}?...)。指定しない場合は応答に含まれません

ポート番号を既定から変えたときや、リバースプロキシ・コンテナーの外から使うときは、ここを実際の URL に合わせないと、配信者や視聴者に届かない URL が返ります。

再生・録画

オプション値既定説明
--max-playback-ttl秒86400再生 URL の ttl_secs に指定できる上限です。ライブと録画の両方に適用します。0 は指定できません
--reconnect-graceミリ秒30000配信者の接続が切れたあと、再接続を待つ時間です。この時間内に再接続すれば、同じ配信の続きとして扱います
--record-queueN4096録画の書き込みを待つキューの大きさの基準値です(16〜1048576)。ストリームごとのキューは N/64 件で、16〜4096 の範囲に収めます。既定では 64 セグメント分です。キューからあふれた分は、録画の欠落になります
--retention-sweep秒60保持期限を過ぎた録画を削除する処理を、何秒ごとに行うかを指定します。同じときに、期限が切れた Idempotency-Key の記録も消します。最小は 1 です
--verify-recordings—無効起動時の復旧処理で、インデックスにあるすべてのセグメントの SHA-256 を照合し、一致しないものをログに出します。データが多いほど起動に時間がかかります
--zoneinfoDIR/usr/share/zoneinfo予約録画で使うタイムゾーン(IANA の名前)の情報を読む、TZif ファイルのディレクトリです

録画の保存先

録画を S3 互換のオブジェクトストレージ(AWS S3・MinIO・Cloudflare R2 など)にも保存するときに使います。クラスターでは全ノードに同じ値を設定してください。仕組みは 録画 の「録画の保存先」で説明しています。

オプション値既定説明
--recording-storagelocal|s3://BUCKET[/PREFIX]local録画の保存先です。local では、データディレクトリにだけ保存します
--s3-endpointURLAWS のリージョンの宛先S3 互換サービスの宛先です(http(s)://ホスト[:ポート]。パスは含められません)。MinIO や R2 などを使うときに指定します
--s3-regionリージョンus-east-1署名に使うリージョンです。R2 では auto を指定します
--s3-addressingpath|virtual--s3-endpoint があれば path、なければ virtualURL でのバケットの表し方です。path は ホスト/バケット/キー、virtual は バケット.ホスト/キー になります
--s3-credentialsFILE環境変数認証情報を書いた JSON ファイルです(access_key_id・secret_access_key・session_token)。指定しない場合は、環境変数 AWS_ACCESS_KEY_ID などを読みます
--s3-part-sizeバイト16777216(16 MiB)この大きさを超えるファイルは、分けてアップロードします。5 MiB〜5 GiB の範囲で指定します
--recording-keep-local秒86400アップロードが終わったあと、ローカルのコピーを残しておく時間です。0 にすると、アップロードが終わりしだい削除します

認証(JWT)

オプション値既定説明
--jwksFILEなしJWT の検証に使う鍵です(JWKS 形式の JSON を書いたローカルのファイル)。起動時に 1 回だけ読み込みます
--jwt-issuer文字列なしJWT の iss に求める値です。--jwks を使う場合は必須です
--jwt-audience文字列なしJWT の aud に含まれていなければならない値です。--jwks を使う場合は必須です
--jwt-tenant-claim名前tenantJWT の中で、テナントを表すクレームの名前です

詳しくは セキュリティ を参照してください。

コーデック・キャプチャ

オプション値既定説明
--codec-workersN0(CPU の数と同じ)静止画やサムネイルなど、1 回で終わる処理に使う senca-codec-worker のプロセスの数です
--codec-worker-binFILEsenca-node と同じディレクトリの senca-codec-workersenca-codec-worker の実行ファイルの場所です。見つからない場合、変換は 503 を返します
--codec-lib-dirDIRなしコーデックの共有ライブラリを最初に探すディレクトリです。senca-codec-worker と senca-capture-worker に、環境変数 SENCA_CODEC_LIB_DIR として渡します。: で区切って複数指定できます。クイックスタート の「コーデックのライブラリ」を参照してください
--capture-synthetic—無効試験用の仮想のキャプチャデバイスを一覧に出します(senca-capture-worker に --synthetic を渡します)

管理画面・配信ページ

オプション値既定説明
--console-dirDIRなし管理画面のファイル(リポジトリの apps/console)の場所です。指定すると /console/ で開けます。指定しない場合、/console/ は 404 を返します
--sender-dirDIRなしブラウザーから配信するためのページのファイル(リポジトリの apps/sender-web)の場所です。指定すると /sender/ で開けます。指定しない場合、/sender/ は 404 を返します

/ にアクセスすると、/console/ へ 302 でリダイレクトします。

ノード・グリッド

オプション値既定説明
--node-name名前node-1ノードの表示名です。グリッドのラベル senca.io/name の値になります。デバイスの API では、ノード ID の代わりにこの名前を使えます
--labelKEY=VALUEなしワークロードを割り当てるノードの条件(placement.labels)に使うラベルです。複数回指定でき、最大 64 個です。キーは 1〜128 文字、値は 128 文字までで、制御文字は使えません。senca.io/ で始まるキーと raft_id は SENCA が使うため、指定できません
--net-mbpsMbit/s10000このノードの帯域です(上り・下りそれぞれの値)。グリッドがワークロードの割り当てを決めるときに使います
--capacity-cpu-millisミリコアCPU の数 × 1000 × 90%ワークロードに使ってよい CPU の量です
--capacity-memory-mbMBMemTotal の 85%ワークロードに使ってよいメモリの量です
--cluster-configFILEなしクラスターの設定を書いた JSON ファイルです(下の「クラスターの設定」を参照)。指定しない場合は、単一ノードとして動きます
--egress-allowCIDRなし外部への接続(pull 入力、push 出力、字幕、PaaS 連携、HLS の pull)で、宛先として許可するプライベートアドレスの範囲です。複数回指定できます。セキュリティ を参照してください

ルーム(リアルタイム)

オプション値既定説明
--rooms-cascade—無効すべてのルームでカスケード(別のノードにあるルームの参加者を、このノードで受け付けること)を使います。ルームの設定 cascade が false でも有効になります。リアルタイムのルーム を参照してください
--rooms-auth-webhookURLなしルームへの参加を認めるかどうかを問い合わせる Webhook です。ルームの設定 auth_webhook_url があれば、そちらを優先します。--rooms-webhook-secret-file が必要です
--rooms-auth-modeafter_token・onlyafter_tokenafter_token では、トークンを検証したあとで Webhook に問い合わせます。only では、トークンを使わずに Webhook だけで参加を認めます
--rooms-event-webhookURLなしルームで起きたことを知らせる Webhook の宛先です。送信には署名を付け、届かなければ再送します。--rooms-webhook-secret-file が必要です
--rooms-webhook-secret-fileFILEなしWebhook の署名(HMAC-SHA256)に使う秘密の値を書いたファイルです。前後の空白を除いて 16 バイト以上必要です

Webhook の宛先も、外部への接続の制限の対象です。プライベートアドレスへ送るには、--egress-allow で許可しておく必要があります。

要求の数の上限

上限を超えた要求には 429(RATE_LIMITED、Retry-After 付き)を返します(セキュリティ を参照)。0 にすれば、その上限はなくなります。

オプション値既定説明
--rate-limit-ipN300管理 API(/api/v1)への、送信元の IP アドレスごとの 1 秒あたりの要求数です。一時的には 2 倍まで受け付けます。認証の前に数えます
--rate-limit-tokenN200管理 API への、API トークンごとの 1 秒あたりの要求数です(JWT では subject ごとに数えます)。一時的には 2 倍まで受け付けます
--rate-limit-auth-failuresN30送信元の IP アドレスごとに、1 分あたり認証に失敗してよい回数です。この回数を超えると、正しいトークンを使っても 429 を返します
--rate-limit-connectN30新しい接続(/signaling・WHIP・WHEP・SSE)の、送信元の IP アドレスごとの 1 秒あたりの数です。一時的には 2 倍まで受け付けます

その他

オプション値既定説明
--configFILEなし設定ファイルです(JSON 形式。下の「設定ファイル(JSON)」を参照)
--data-dirDIRout(カレントディレクトリからの相対パス)データディレクトリです(下の「データディレクトリ」を参照)。必ず指定してください
--log-json—無効ノードのログを、1 行に 1 つの JSON の形で標準出力に出します(運用 を参照)
--events-retainN4096ノードが手元に残しておく、直近のイベントの数です(0〜1000000)。SSE(GET /api/v1/events)で再接続してきたクライアントに、取りこぼした分を再送するために使います。管理 API と SDK を参照してください

起動時の検査

次の設定は起動前の検査で見つかり、終了コード 2 で終了します。

  • --jwks を指定したのに、--jwt-issuer か --jwt-audience がない
  • --https・--rtmps・--quic のどれかを指定したのに、--tls-cert か --tls-key がない
  • --record-queue が 16〜1048576 の範囲にない、または --max-playback-ttl が 0
  • --egress-allow の値が CIDR の形になっていない
  • --recording-storage が local でも s3://BUCKET[/PREFIX] でもない
  • --s3-endpoint・--s3-region・--s3-addressing の書き方が誤っている、または --s3-part-size が 5 MiB〜5 GiB の範囲にない
  • --webrtc-public-ip の値が IP アドレスでない、0.0.0.0・::・マルチキャストのアドレスである、または 9 個以上ある
  • --events-retain が 1000000 を超える
  • --rooms-auth-webhook・--rooms-event-webhook が http/https の URL でない、または --rooms-webhook-secret-file がない
  • --rooms-webhook-secret-file のファイルを読み込めない、または中身が 16 バイトに満たない
  • クラスターの設定で、node_id が 0 である、peers に自分が含まれていない、または peers が 1〜7 台の範囲にない

起動の途中でつまずいた場合は、fatal: ... と出力して終了コード 1 で終了します。主な原因は次のとおりです。

  • 指定したファイルを読み込めない
  • 待ち受けを始められない
  • クラスターの共有シークレットが 16 文字に満たない
  • S3 の認証情報がない

設定ファイル(JSON)

--config FILE に渡す JSON は、次のキーを持つオブジェクトです。どのキーも省略でき、省略すれば既定値になります。逆に、知らないキーがあるとエラーになります。綴りの誤りもここで見つかります。

JSON のキーオプション型
data_dir--data-dir文字列
node_name--node-name文字列
http_listen--http文字列(ADDR)
https_listen・rtmp_listen・rtmps_listen・srt_listen・rtsp_listen・webrtc_udp・quic_listen--https など(quic_listen は --quic)文字列(ADDR)または null(待ち受けない)
tls_cert・tls_key--tls-cert・--tls-key文字列
public--public-*-url{"rtmp": 文字列, "http": 文字列または null, "srt": 文字列または null, "rtsp": 文字列または null}
max_playback_ttl_secs--max-playback-ttl数値
reconnect_grace_ms--reconnect-grace数値
record_queue--record-queue数値
retention_sweep_secs--retention-sweep数値
jwks・jwt_issuer・jwt_audience・jwt_tenant_claim--jwks など文字列
codec_workers--codec-workers数値
codec_worker_bin・codec_lib_dir同名のオプション文字列
zoneinfo_dir--zoneinfo文字列
console_dir・sender_dir同名のオプション文字列
capture_synthetic・verify_recordings・log_json同名のオプション真偽値
cluster--cluster-configオブジェクト(下の「クラスターの設定」)
egress_allow--egress-allow文字列の配列
net_mbps--net-mbps数値
labels--label文字列 → 文字列のオブジェクト
capacity_cpu_millis・capacity_memory_mb同名のオプション数値または null
rooms_cascade--rooms-cascade真偽値
rooms_auth_webhook・rooms_event_webhook同名のオプション文字列または null
rooms_auth_mode--rooms-auth-mode"after_token" または "only"
rooms_webhook_secret_file同名のオプション文字列または null
recording_storage--recording-storage・--s3-*・--recording-keep-local{"uri", "endpoint", "region", "addressing", "credentials_file", "part_size", "keep_local_secs"}(どれも省略できます)

気をつけたいのは rtmp_listen です。省略すると既定の 0.0.0.0:1935 で待ち受けてしまうので、RTMP を使わないなら明示的に null と書きます。

public の中で省略したキーは、rtmp と http なら上の「公開 URL」の既定値に、srt と rtsp なら設定なしになります。"http": null と書いた場合、再生 URL の hls は /s/... から始まる相対パスになり、ingest.whip_url は応答から消えます。labels は --label と同じ規則で検査し、合わなければ終了コード 2 で終了します。

設定ファイルの例です。

{
  "data_dir": "/var/lib/senca",
  "node_name": "edge-1",
  "http_listen": "0.0.0.0:8080",
  "rtmp_listen": "0.0.0.0:1935",
  "srt_listen": "0.0.0.0:9000",
  "public": {
    "rtmp": "rtmp://media.example.com:1935",
    "http": "https://media.example.com",
    "srt": "srt://media.example.com:9000"
  },
  "codec_lib_dir": "/usr/lib/x86_64-linux-gnu",
  "labels": { "zone": "a" },
  "log_json": true
}

クラスターの設定

クラスターの設定は、--cluster-config FILE か、--config の JSON の cluster に書きます。こちらも知らないキーはエラーです。クラスターの組み方は クラスターとグリッド で説明しています。

クラスターの設定のキー

キー必須型説明
node_idはい数値(1 以上)このノードの Raft での ID です。peers の中に、同じ id を持つ要素が必要です
listenはいADDRノード間の通信(Raft)で待ち受けるアドレスです
peersはい配列(1〜7 個)Raft の投票に加わるノードの一覧です(自分も含めます)
secret_fileはいパスクラスターの共有シークレットを書いたファイルです。すべてのノードで同じ内容にします。前後の空白を除いて 16 文字以上必要です
tls_caいいえパスノード間の mTLS(互いに証明書を確かめ合う TLS)に使う、認証局の証明書です(PEM 形式)
tls_certいいえパスこのノードの証明書です(PEM 形式)。SAN に DNS:senca-cluster を含めてください
tls_keyいいえパス上の証明書の秘密鍵です(PEM 形式)
relay_listenいいえADDRノード間の中継で待ち受けるアドレスです。既定は listen のポート番号に 1 を加えた番号です

tls_ca・tls_cert・tls_key は、全部書くか全部省くかのどちらかにします。省いた場合、ノード間の通信は暗号化されません(セキュリティ を参照)。

peers の各要素のキー

キー必須型説明
idはい数値そのノードの Raft での ID です
addrはいADDRそのノードが Raft の通信で待ち受けるアドレスです
apiいいえURLそのノードの HTTP の公開 URL です(例: http://10.0.0.2:8080)。視聴者を 307 でそのノードへリダイレクトするときと、ルームの参加者を別のノードへ案内するときに使います
relayいいえADDRそのノードが中継で待ち受けるアドレスです。既定は addr のポート番号に 1 を加えた番号です

中継のポートは、既定では「Raft のポート番号 + 1」です。この番号は空けておいてください。

1 台のマシンで複数のノードを試すときは、ここでつまずきがちです。同じホストで Raft を 7000 番と 7001 番にして中継を既定のままにすると、1 台目の中継(7001 番)が 2 台目の Raft とぶつかり、起動時の検査で終了コード 2 になります。エラーのメッセージには重なったアドレスが出ます。こうした構成では、relay_listen と peers[].relay を明示してください。

{
  "node_id": 1,
  "listen": "10.0.0.1:7000",
  "secret_file": "/etc/senca/cluster-secret",
  "tls_ca": "/etc/senca/cluster-ca.pem",
  "tls_cert": "/etc/senca/n1.pem",
  "tls_key": "/etc/senca/n1.key",
  "peers": [
    {"id": 1, "addr": "10.0.0.1:7000", "api": "http://10.0.0.1:8080"},
    {"id": 2, "addr": "10.0.0.2:7000", "api": "http://10.0.0.2:8080"},
    {"id": 3, "addr": "10.0.0.3:7000", "api": "http://10.0.0.3:8080"}
  ]
}

環境変数

senca-node 自身が読む環境変数は、録画の保存先(S3)の認証情報だけです。それも --s3-credentials がないときに限ります。

変数説明
AWS_ACCESS_KEY_ID・AWS_SECRET_ACCESS_KEYS3 の認証情報です(上の「録画の保存先」を参照)
AWS_SESSION_TOKEN一時的な認証情報を使う場合の、セッションのトークンです

ほかの設定はすべてオプションか JSON で指定します。次の環境変数を読むのは、ノードが起動する別プロセス(senca-codec-worker と senca-capture-worker)のほうです。

変数読むプロセス説明
SENCA_CODEC_LIB_DIRsenca-codec-workerコーデックのライブラリを最初に探すディレクトリです(: 区切り)。--codec-lib-dir を指定した場合は、その値で置き換えます
SENCA_CODEC_DISABLEsenca-codec-worker使わないコーデックの提供元です(, 区切り)。hardware・software でまとめて指定するか、nvidia・intel-vpl・amd-amf・vaapi・dav1d・libvpx・svt-av1・opus で個別に指定します
LD_LIBRARY_PATHsenca-codec-workerファイル名だけで dlopen するときに、OS がライブラリを探す場所です
SENCA_CAPTURE_SYNTHETICsenca-capture-worker1 か true にすると、試験用の仮想のデバイスを一覧に出します
SENCA_CAPTURE_DISABLEsenca-capture-worker検出しないデバイスの種類です(, 区切りで v4l2・alsa・decklink)
SENCA_CAPTURE_LIB_DIRsenca-capture-workerDeckLink と ALSA のライブラリを探すディレクトリです(: 区切り)

senca-codec-worker は環境変数を空にして起動し、親プロセスから引き継ぐのは SENCA_CODEC_LIB_DIR・SENCA_CODEC_DISABLE・LD_LIBRARY_PATH だけです。一方、senca-capture-worker は親の環境変数をすべて引き継ぎます。

compose.yaml に出てくる SENCA_PUBLIC_HTTP・SENCA_PUBLIC_RTMP・SENCA_PUBLIC_IP は compose の変数で、--public-*-url と --webrtc-public-ip の値に展開してから渡しています。ノードがこれらを環境変数として読むことはありません。

データディレクトリ

--data-dir の中身です。中のファイルやディレクトリは、ノードが必要に応じて自分で作ります。

パス内容
node-idこのノードの ID(128 ビット、16 進数)です。初めて起動したときに作り、その後は変わりません
audit.log監査ログです(1 行に 1 つの JSON。追記していきます)
control/log単一ノードで、設定と状態の変更を追記していくログです(1 件ごとに fsync します)
control/snapshot.json単一ノードで、ある時点の設定と状態全体を保存したものです。ログが 1000 件を超えると作り直し、ログを空にします
control/raft/クラスターで使う Raft のデータです(hardstate・snap-*.snap・log/*.seg)。クラスターでは control/log は使いません
control/secret-keyシークレットを暗号化する鍵です(32 バイト、パーミッション 0600)。なければ初めて起動したときに作ります。クラスターでは、どれか 1 台の鍵がクラスター共通の鍵になります。この鍵はクラスターの共有シークレットで暗号化して、すべてのノードへ配布します
control/bootstrap-admin-token最初の管理者トークンの値です(パーミッション 0600)。初めて起動したときにだけ作ります
recordings/{録画 ID}/index.jsonl録画のインデックスです。追記だけを行う JSON Lines 形式で、begin・init・segment・gap・end の行があります
recordings/{録画 ID}/thumbnail.jpg・thumbnail.json録画のサムネイルと、その情報です
recordings/.trash-{録画 ID}削除している途中の録画です(一時的なもの)
segments/{ストリーム ID}/{run}/{連番}.ts・.m4s(と fMP4 の初期化セグメント)録画のセグメントです。作ったあとは変更しません。run は、ストリームの処理を始めるたびに付く ID です
segments/{ストリーム ID}/orphans/{run}/起動時の復旧処理で、どのインデックスからも参照されていないとわかったセグメントです。削除せずに、ここへ移しておきます
snapshots/{ストリーム ID}/{ID}.jpg・{ID}.json定期的に取得した静止画と、その情報です

1 台構成の control/log と snapshot.json には、再生 URL の署名に使う鍵が平文で入っています。データディレクトリのアクセス権は必ず絞ってください(セキュリティ を参照)。何をバックアップすればよいかは 運用 にあります。

関連するページ

この文書の原文は、リポジトリの docs/guide/ja/03-configuration.md にあります。内容は現在の版(v0.0.1)に合わせています。