強化 Jitsi Meet 基底的開源視訊會議系統,打造 Webex/Zoom 風格的會議入口,但一切由你掌控:多帳號 / 角色 / 2FA、預約、大廳、完整稽核與 SIEM 外拋。連線模式支援 8x8 JaaS(雲端託管)或自建 Jitsi Meet,一鍵切換。An open-source meeting portal for Jitsi Meet–based video conferencing — a Webex/Zoom-style front door that stays entirely under your control: multiple accounts / roles / 2FA, scheduling, lobby, full audit logging and SIEM forwarding. Connect to 8x8 JaaS (cloud-hosted) or a self-hosted Jitsi Meet and switch between them with one click.Jitsi Meet ベースのビデオ会議のためのオープンソース会議ポータル。Webex / Zoom のような会議の入口を、すべて自分の管理下で提供します:複数アカウント / ロール / 2FA、予約、ロビー、完全な監査ログと SIEM 転送。接続先は 8x8 JaaS(クラウドホスト)またはセルフホストの Jitsi Meet から選べ、ワンクリックで切り替えられます。
8x8 自 2018 年起為 Jitsi / Jitsi Meet 的開發與維護公司;8x8 JaaS(Jitsi as a Service)即其官方雲端託管的 Jitsi 服務。Since 2018, 8x8 has been the company developing and maintaining Jitsi / Jitsi Meet; 8x8 JaaS (Jitsi as a Service) is its official cloud-hosted Jitsi service.8x8 は 2018 年から Jitsi / Jitsi Meet の開発・保守を担う企業であり、8x8 JaaS(Jitsi as a Service)はその公式クラウドホスト型 Jitsi サービスです。
安全更新(2026-10-21):請儘快升級到 v1.22.1 以上。PHP 官方發布安全修補,Docker 安裝請改用 v1.22.1 以上的映像或 docker build --pull 重建;直接安裝請把 PHP 更新到 8.4.27 / 8.3.36 以上,並在 php.ini 設 session.upload_progress.enabled=Off(也能擋下 10/23 新揭露、尚未修補的 CVE-2026-115560)。變更紀錄Security update (2026-10-21): please upgrade to v1.22.1 or later as soon as possible. PHP has released security fixes. Docker installs: use the v1.22.1 or later image or rebuild with docker build --pull. Direct installs: update PHP to 8.4.27 / 8.3.36 or later and set session.upload_progress.enabled=Off in php.ini (this also blocks CVE-2026-115560, disclosed on 10/23 and not yet patched). Changelogセキュリティ更新(2026-10-21):できるだけ早く v1.22.1 以降に更新してください。PHP がセキュリティ修正を公開しました。Docker の場合は v1.22.1 以降のイメージを使うか docker build --pull で再ビルド、直接インストールの場合は PHP を 8.4.27 / 8.3.36 以降に更新し、php.ini で session.upload_progress.enabled=Off を設定してください(10/23 に公表され、まだ修正版がない CVE-2026-115560 も防げます)。変更履歴

把會議邀請連結到處轉貼、沒有權限與記錄,難以管理也難以稽核。Meeting links passed around everywhere, with no permissions and no records, are hard to manage and impossible to audit.会議リンクがあちこちに転送され、権限も記録もない状態では、管理も監査もできません。
企業會議入口需要的均已內建,零外部 PHP 套件。Everything an organization's meeting portal needs is built in — with zero external PHP packages.組織の会議ポータルに必要な機能はすべて組み込み済み。外部 PHP パッケージはゼロです。
8x8 JaaS(RS256 + kid)或自建 Jitsi Meet(HS256 / 免 JWT),管理介面一鍵切換。8x8 JaaS (RS256 + kid) or self-hosted Jitsi Meet (HS256 / no JWT), switched with one click in the admin UI.8x8 JaaS(RS256 + kid)またはセルフホストの Jitsi Meet(HS256 / JWT なし)を、管理画面からワンクリックで切り替え。
建立 / 進入、亂數命名、近期清單、一鍵複製邀請、QR Code 彈窗。Create / join, random room names, a recent-rooms list, one-click invite copy and a QR code pop-up.作成 / 入室、ランダムな会議室名、最近の会議室一覧、招待リンクのワンクリックコピー、QR コードのポップアップ。
設定開放時段;未到顯示翻頁時鐘倒數,主持人提前進入即自動放行。Set an open time window; before it starts guests see a flip-clock countdown, and are let in automatically if the host joins early.公開時間枠を設定。開始前のゲストにはフリップ時計のカウントダウンを表示し、主催者が早めに入室すると自動的に入室を許可します。
填與會者 email,寄送含 .ics 行事曆的邀請信,可自訂主旨 / 內文範本;建立後也能從會議室清單補寄;可填中文會議主題,寫在信件與行事曆標題。Enter attendee emails to send invitations with an .ics calendar file, using customizable subject / body templates; more people can be invited later from the rooms list; an optional meeting topic in any language goes into the email and calendar title.参加者のメールアドレスを入力すると、.ics カレンダーファイル付きの招待メールを送信。件名 / 本文のテンプレートはカスタマイズ可能で、作成後も会議室一覧から追加で招待でき、任意の会議テーマ(日本語・中国語可)がメールとカレンダーのタイトルに使われます。
來賓需自填名稱才進場;非開放時段顯示等候 / 倒數 / 已結束頁。Guests must enter their name before joining; outside the open window they see a waiting / countdown / ended page.ゲストは入室前に名前の入力が必須。公開時間外は待機 / カウントダウン / 終了画面を表示します。
建立會議室可選;主持人進場自動開啟,來賓需經主持人逐一允許才能進入。Optional when creating a room; it switches on automatically when the host joins, and each guest must be admitted by the host.会議室作成時に選択可能。主催者の入室時に自動で有効になり、ゲストは主催者に 1 人ずつ許可されて入室します。
admin 看全部、host 只看自己建的;支援 TOTP 雙因素認證。Admins see everything, hosts see only the rooms they created; TOTP two-factor authentication supported.admin はすべてを閲覧、host は自分が作成した会議室のみ。TOTP 二要素認証に対応。
登入、建室、邀請、設定變更全記錄,可即時外拋 syslog / CEF / GELF。Logins, room creation, invitations and settings changes are all recorded and can be forwarded in real time as syslog / CEF / GELF.ログイン、会議室作成、招待、設定変更をすべて記録し、syslog / CEF / GELF でリアルタイムに転送できます。
60 種 Jitsi 介面語言、22 種主題、站台名稱 / logo、登入頁路徑偽裝。60 Jitsi UI languages, 22 themes, custom site name / logo, and a disguised login-page path.60 種類の Jitsi インターフェース言語、22 種類のテーマ、サイト名 / ロゴ、ログインページのパス偽装。
會議時長排行、尖峰同時人數與參與者進出時間軸;JaaS 模式另接 USAGE webhook 統計 MAU。Meeting-duration rankings, peak concurrent participants and a join/leave timeline per participant; in JaaS mode the USAGE webhook also tracks MAU.会議時間ランキング、同時参加者数のピーク、参加者ごとの入退室タイムライン。JaaS モードでは USAGE Webhook で MAU も集計します。
串接 Jibri 主機錄影服務:線上列表 / 播放 / 下載 / 刪除、主機容量、保留政策(時間 / 容量 / 殘留);主持人可調閱自己會議的錄影。Connects to the recording service on your Jibri host: list / play / download / delete online, disk usage, and retention policies (age / capacity / leftovers); hosts can access recordings of their own meetings.Jibri ホストの録画サービスと連携:オンラインで一覧 / 再生 / ダウンロード / 削除、ディスク使用量、保持ポリシー(期間 / 容量 / 残存ファイル)。主催者は自分の会議の録画を閲覧できます。
主持人與管理員用公司帳號登入(Keycloak 等 IdP,以 LDAPS 聯合 AD);AD 群組對應角色、MFA 與暴力破解防護在 IdP,portal 不經手 AD 密碼。外部人員照常用本機帳號。Hosts and admins sign in with their company account through an IdP such as Keycloak (federating AD over LDAPS); AD groups map to roles, MFA and brute-force protection live in the IdP, and the portal never handles AD passwords. External people keep using local accounts.ホストと管理者は Keycloak などの IdP(LDAPS で AD と連携)経由で会社アカウントでログイン。AD グループをロールに対応付け、MFA と総当たり対策は IdP 側で行い、ポータルは AD パスワードを扱いません。外部の方は従来どおりローカルアカウントを使えます。
錄影完成後交給自架的 jt-live-whisper,產生含發言者的逐字稿與摘要:重點、決議與待辦、風險、議題、發言統計,每條附時間點可跳播。帳號權限與單場開關控制誰能用。After a recording finishes it goes to a self-hosted jt-live-whisper, which returns a speaker-labelled transcript and a summary — key points, decisions and action items, risks, topics and speaker statistics, each citing a time you can jump to. Per-account permissions and a per-meeting switch control who can use it.録画完了後にセルフホストの jt-live-whisper へ渡し、話者付きの文字起こしと要約(要点、決定事項と ToDo、リスク、トピック、発言統計)を生成。各項目に時刻が付き、クリックで再生位置へジャンプできます。アカウント権限と会議ごとのスイッチで利用者を制御します。
會議中記錄 Jitsi 的「目前發言者」時間軸,逐字稿頁自動建議 S1、S2 各是哪位參與者(附重疊比例),一鍵套用或從參與者名單挑選改名。The meeting records Jitsi's "current speaker" timeline, and the transcript page suggests which participant each speaker (S1, S2…) is, with the share of overlapping time — apply with one click or pick a name from the participant list.会議中に Jitsi の「現在の発言者」タイムラインを記録し、文字起こし画面で S1、S2… がどの参加者かを重なりの割合付きで提案。ワンクリックで適用するか、参加者一覧から名前を選べます。
整份會議記錄(會議資訊、摘要、逐字稿)一鍵下載為 PDF / DOCX / ODT / HTML;另有純文字、SRT 字幕、JSON、Markdown。全部由 portal 自行產生,不需額外套件。Download the whole record (meeting details, summary and transcript) as PDF / DOCX / ODT / HTML, plus plain text, SRT subtitles, JSON and Markdown — all generated by the portal itself, no extra packages.議事録一式(会議情報、要約、文字起こし)を PDF / DOCX / ODT / HTML でワンクリックダウンロード。プレーンテキスト、SRT 字幕、JSON、Markdown にも対応。すべてポータル自身が生成し、追加パッケージは不要です。
兩種模式都能在管理介面一鍵切換、不必改程式,依團隊規模與維運能力選擇即可。Both modes can be switched with one click in the admin UI without code changes — pick based on your team size and operational capacity.どちらのモードも管理画面からワンクリックで切り替えられ、コード変更は不要です。チームの規模と運用体制に合わせて選んでください。
適合:小團隊、想快速上線、不想維運伺服器。Best for: small teams who want to go live fast without running servers.向いているケース:サーバーを運用せず、すぐに使い始めたい小規模チーム。
適合:重隱私自主、中小規模、具維運能力。Best for: privacy and autonomy, small-to-medium scale, teams with ops capacity.向いているケース:プライバシーと自主性を重視、中小規模、運用体制のあるチーム。
| 項目Aspect項目 | 8x8 JaaS | 自建 Jitsi MeetSelf-hosted Jitsi Meetセルフホスト Jitsi Meet |
|---|---|---|
| 維運負擔Operations運用負担 | 無(全代管)None (fully managed)なし(フルマネージド) | 需自行維運You run it yourself自社で運用 |
| 上線速度Time to launch導入までの時間 | 幾分鐘Minutes数分 | 需先架站Servers must be set up first先にサーバー構築が必要 |
| 費用模式Pricing料金体系 | 免費 Dev 方案(25 MAU)/ 超過依 MAU 計費Free Dev plan (25 MAU) / billed per MAU beyond that無料 Dev プラン(25 MAU)/ 超過分は MAU 課金 | 自有硬體與頻寬Your own hardware and bandwidth自社のハードウェアと帯域 |
| 資料主權Data sovereigntyデータ主権 | 經 8x8 雲端Via the 8x8 cloud8x8 クラウド経由 | 完全自有Fully yours完全に自社所有 |
| 錄影Recording録画 | 內建(依方案)Built in (plan-dependent)組み込み(プランによる) | 搭配自建 JibriWith a self-hosted Jibriセルフホストの Jibri と併用 |
| 逐字稿Transcripts文字起こし | 8x8 另計費的即時字幕(依分鐘計費、檔案只保留 24 小時,不會存回本系統);本系統預設關閉以免意外計費8x8's separately billed live captions (per minute, files kept only 24 hours, never stored in this system); disabled by default here to avoid surprise charges8x8 の別料金のライブ字幕(分単位の課金、ファイルは 24 時間のみ保持し本システムには保存されない)。想定外の課金を避けるため本システムでは既定で無効 | 搭配 Jibri 錄影 + 自架 jt-live-whisper:會後產生含發言者的逐字稿,存在本系統,資料不出自家機房Jibri recording + a self-hosted jt-live-whisper: a speaker-labelled transcript after the meeting, stored in this system, data never leaves your premisesJibri 録画 + セルフホストの jt-live-whisper:会議後に話者付きの文字起こしを生成して本システムに保存。データは自社外に出ません |
| 會議摘要Meeting summary会議要約 | 不提供Not availableなし | 由 jt-live-whisper 以自架的語言模型整理:重點、決議與待辦、風險、議題、發言統計,每條附錄影時間點Produced by jt-live-whisper with a self-hosted language model: key points, decisions and action items, risks, topics, speaker statistics — each citing a time in the recordingjt-live-whisper がセルフホストの言語モデルで作成:要点、決定事項と ToDo、リスク、トピック、発言統計。各項目に録画内の時刻付き |
| 會議記錄匯出Minutes export議事録のエクスポート | 不提供Not availableなし | PDF / DOCX / ODT / HTML,另有純文字、SRT、JSON、MarkdownPDF / DOCX / ODT / HTML, plus plain text, SRT, JSON, MarkdownPDF / DOCX / ODT / HTML、ほかにプレーンテキスト、SRT、JSON、Markdown |
| 適合規模Scale適した規模 | 不限規模(小團隊到大規模,依 MAU 計費)Any scale (small teams to large, billed per MAU)規模を問わない(小規模チームから大規模まで、MAU 課金) | 中小型 / 高隱私需求Small-to-medium / high-privacy needs中小規模 / 高いプライバシー要件 |
| JWT 簽章JWT signingJWT 署名 | RS256 + kid | HS256 或免 JWTHS256 or no JWTHS256 または JWT なし |
2026-10 在自建 Jitsi Meet stable-11031 實際開會量到的數字。每人送出 1280×720、每秒 15 格且一直變化的鏡頭畫面(讓編碼器跑到上限,估線路偏保守);電腦是 1440×900 瀏覽器視窗、VP9。單位都是 Mbps(每秒百萬位元),跟線路規格(例如 300M / 100M)同一個單位。Measured in October 2026 in real meetings on self-hosted Jitsi Meet stable-11031. Everyone sends 1280×720 camera video at 15 fps that changes constantly (so the encoder runs at its limit — conservative for sizing lines); computers are 1440×900 browser windows using VP9. All figures are in Mbps (megabits per second) — the same unit as line plans (e.g. 300M / 100M).2026 年 10 月にセルフホスト Jitsi Meet stable-11031 で実際に会議を開いて測った数値です。全員が 1280×720・毎秒 15 フレームで常に変化するカメラ映像を送信(エンコーダーを上限まで使わせるため、回線の見積もりとしては控えめな値)、PC は 1440×900 のブラウザーウィンドウで VP9。単位はすべて Mbps(1 秒あたりのメガビット)で、回線プラン(例:300M / 100M)と同じ単位です。
依這份實測數據做成的線上工具:輸入每場人數、同時場次、顯示方式(並排 / 演講者)、小畫面畫質與規劃餘裕,就會算出每台電腦的上傳 / 下載與 Jitsi 伺服器的收 / 送;填入伺服器線路速率,還能看使用率與放得下幾場會議。另有手機流量與方案比較,可匯出 PNG / SVG / CSV 或分享連結(參數只放在網址 # 後面,不會送到伺服器)。An online tool built on these measurements: enter people per meeting, concurrent meetings, view (tile / speaker), small-tile quality and headroom to get upload / download per computer and the Jitsi server's in / out; enter the server line speed to see utilization and how many meetings fit. It also covers phone data usage and plan comparison, with PNG / SVG / CSV export and share links (parameters stay after the # in the URL and are never sent to the server).この実測データをもとにしたオンラインツールです。会議ごとの人数、同時開催数、表示方式(タイル / スピーカー)、小さい画面の画質、余裕率を入力すると、PC 1 台のアップロード / ダウンロードと Jitsi サーバーの受信 / 送信を計算します。サーバー回線の速度を入れれば、使用率と収容できる会議数も確認できます。スマートフォンの通信量や案の比較、PNG / SVG / CSV の書き出し、共有リンク(パラメーターは URL の # 以降にだけ置かれ、サーバーには送られません)にも対応しています。
| 人數People人数 | 上傳Uploadアップロード | 下載:並排(預設畫質)Download: tile view (default)ダウンロード:タイル表示(既定) | 下載:並排(較高 / 高)Download: tile view (Higher / High)ダウンロード:タイル表示(高め / 高) | 下載:演講者畫面Download: speaker viewダウンロード:スピーカー表示 |
|---|---|---|---|---|
| 2 人(點對點直連)2 (peer-to-peer)2 人(P2P 直接接続) | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps |
| 3 人33 人 | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 0.4 Mbps~0.4 Mbps約 0.4 Mbps | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 0.8 Mbps~0.8 Mbps約 0.8 Mbps |
| 4 人44 人 | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 0.6 Mbps~0.6 Mbps約 0.6 Mbps | 約 2.0 Mbps~2.0 Mbps約 2.0 Mbps | 約 0.9 Mbps~0.9 Mbps約 0.9 Mbps |
| 5 人55 人 | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 0.8 Mbps~0.8 Mbps約 0.8 Mbps | 約 2.5 Mbps~2.5 Mbps約 2.5 Mbps | 約 1.0 Mbps~1.0 Mbps約 1.0 Mbps |
| 6 人66 人 | 約 1.3 Mbps~1.3 Mbps約 1.3 Mbps | 約 1.0 Mbps~1.0 Mbps約 1.0 Mbps | 約 3.4 Mbps~3.4 Mbps約 3.4 Mbps ※ | 約 1.2 Mbps~1.2 Mbps約 1.2 Mbps |
上傳:被別人放大看(演講者畫面)的人要送 720p,誰都可能被放大,所以每台電腦都以約 1.3 Mbps 規劃(只用並排、預設畫質時約 0.4)。「較高 / 高」是會議室自訂的「小畫面的接收畫質」,電腦並排兩者都收 720p。2 人會議走點對點直連,不經伺服器。Upload: whoever others view large (speaker view) sends 720p, and anyone can be that person, so plan about 1.3 Mbps for every computer (about 0.4 with tile view only at default quality). "Higher / High" is the "receive quality for small tiles" option in meeting room customization; on a computer both receive 720p in tile view. 2-person meetings connect peer-to-peer without the server.アップロード:ほかの人に大きく表示される人(スピーカー表示)は 720p を送り、誰でもそうなり得るため、PC はすべて約 1.3 Mbps で見積もります(タイル表示のみ・既定の画質なら約 0.4)。「高め / 高」は会議室のカスタマイズの「小さい画面の受信画質」で、PC のタイル表示ではどちらも 720p を受信します。2 人の会議はサーバーを通らず P2P で直接接続します。
| 人數People人数 | 並排(預設畫質)Tile view (default)タイル表示(既定) | 並排(較高 / 高)Tile view (Higher / High)タイル表示(高め / 高) | 演講者畫面Speaker viewスピーカー表示 |
|---|---|---|---|
| 2 人22 人 | 幾乎 0 Mbps(點對點)almost 0 Mbps (peer-to-peer)ほぼ 0 Mbps(P2P) | 幾乎 0 Mbpsalmost 0 Mbpsほぼ 0 Mbps | 幾乎 0 Mbpsalmost 0 Mbpsほぼ 0 Mbps |
| 3 人33 人 | 收 約 1.2 Mbps 送 約 1.3 Mbpsin ~1.2 Mbps out ~1.3 Mbps受信 約 1.2 Mbps 送信 約 1.3 Mbps | 收 約 3.9 Mbps 送 約 4.2 Mbpsin ~3.9 Mbps out ~4.2 Mbps受信 約 3.9 Mbps 送信 約 4.2 Mbps | 收 約 2.8 Mbps 送 約 2.5 Mbpsin ~2.8 Mbps out ~2.5 Mbps受信 約 2.8 Mbps 送信 約 2.5 Mbps |
| 4 人44 人 | 收 約 1.6 Mbps 送 約 2.6 Mbpsin ~1.6 Mbps out ~2.6 Mbps受信 約 1.6 Mbps 送信 約 2.6 Mbps | 收 約 5.3 Mbps 送 約 8.3 Mbpsin ~5.3 Mbps out ~8.3 Mbps受信 約 5.3 Mbps 送信 約 8.3 Mbps | 收 約 2.9 Mbps 送 約 3.9 Mbpsin ~2.9 Mbps out ~3.9 Mbps受信 約 2.9 Mbps 送信 約 3.9 Mbps |
| 5 人55 人 | 收 約 2.0 Mbps 送 約 4.4 Mbpsin ~2.0 Mbps out ~4.4 Mbps受信 約 2.0 Mbps 送信 約 4.4 Mbps | 收 約 6.3 Mbps 送 約 13.2 Mbpsin ~6.3 Mbps out ~13.2 Mbps受信 約 6.3 Mbps 送信 約 13.2 Mbps | 收 約 3.1 Mbps 送 約 5.4 Mbpsin ~3.1 Mbps out ~5.4 Mbps受信 約 3.1 Mbps 送信 約 5.4 Mbps |
| 6 人66 人 | 收 約 2.4 Mbps 送 約 6.6 Mbpsin ~2.4 Mbps out ~6.6 Mbps受信 約 2.4 Mbps 送信 約 6.6 Mbps | 收 約 7.5 Mbps 送 約 22 Mbpsin ~7.5 Mbps out ~22 Mbps受信 約 7.5 Mbps 送信 約 22 Mbps ※ | 收 約 3.2 Mbps 送 約 7.2 Mbpsin ~3.2 Mbps out ~7.2 Mbps受信 約 3.2 Mbps 送信 約 7.2 Mbps |
伺服器收到的是所有人上傳的總和、送出的是所有人下載的總和;人一多,伺服器「上傳」增加最快,申請線路時要特別看上傳。※ 6 人且「較高 / 高」時測試用的單一台電腦 CPU 不夠、編碼器降到 540p,部分數字由每路速率推算。The server receives the sum of everyone's uploads and sends the sum of everyone's downloads; as more people join, the server's upload grows fastest, so check upload speed when ordering a line. ※ With 6 people at "Higher / High" the single test computer ran out of CPU and the encoders dropped to 540p, so some figures are calculated from per-stream rates.サーバーが受信するのは全員のアップロードの合計、送信するのは全員のダウンロードの合計です。人数が増えるといちばん速く増えるのはサーバーのアップロードなので、回線申込時は特に確認してください。※ 6 人で「高め / 高」のときはテスト用の 1 台の PC の CPU が足りずエンコーダーが 540p に下がったため、一部の数値は 1 本あたりのレートから計算しています。
| 等級Levelレベル | 手機每格收到Each tile on a phoneスマートフォンの各タイル | 電腦每格收到Each tile on a computerPC の各タイル | 手機下載Phone downloadスマートフォンのダウンロード | 每秒資料量Data per second1 秒あたりのデータ量 | 開會 1 小時約用About per hour会議 1 時間あたり |
|---|---|---|---|---|---|
| 預設(Jitsi 自動)Default (Jitsi automatic)既定(Jitsi の自動設定) | 180p | 360p | 約 0.3 Mbps~0.3 Mbps約 0.3 Mbps | 約 38 KB/s~38 KB/s約 38 KB/s | 約 135 MB~135 MB約 135 MB |
| 較高Higher高め | 360p | 720p | 約 1.2 Mbps~1.2 Mbps約 1.2 Mbps | 約 150 KB/s~150 KB/s約 150 KB/s | 約 540 MB~540 MB約 540 MB |
| 高High高 | 720p | 720p | 約 2 Mbps~2 Mbps約 2 Mbps | 約 250 KB/s~250 KB/s約 250 KB/s | 約 900 MB~900 MB約 900 MB |
getStats())的 transport 收送位元組(聲音、畫面、控制封包全算),伺服器讀 Jitsi 主機網卡的收送位元組(含 IP / UDP 標頭),都間隔 10 秒相減 × 8 ÷ 秒數;手機表只算收到的視訊(間隔 4 秒)。每秒資料量=速率 ÷ 8(1.2 Mbps → 150 KB);1 小時=每秒資料量 × 3,600(150 KB → 約 540 MB)。人更多時可估:每路畫面 720p 約 0.65、360p 約 0.2、180p 約 0.1 Mbps,每台下載 ≈ 每路 × (人數 − 1),伺服器送 ≈ 每台下載 × 人數。實際數字會隨畫面動作、網路與人數變動,是參考值不是保證值。完整說明How the numbers are calculated: Mbps means megabits per second — bits, not bytes; 1 byte = 8 bits. Each computer: the transport sent / received bytes in the browser's WebRTC statistics (getStats(); audio, video and control packets included); server: the byte counters of the Jitsi host's network interface (including IP / UDP headers); both sampled 10 seconds apart, × 8 ÷ seconds. The phone table counts received video only (4 seconds apart). Data per second = rate ÷ 8 (1.2 Mbps → 150 KB); per hour = data per second × 3,600 (150 KB → about 540 MB). For more people: each stream is about 0.65 Mbps at 720p, 0.2 at 360p, 0.1 at 180p; download per computer ≈ per-stream rate × (people − 1), server out ≈ download per computer × people. Real numbers vary with on-screen motion, network and the number of people; these are reference values, not guarantees. Full explanation数値の計算方法:Mbps は 1 秒あたりのメガ「ビット」(bit)で、バイト(byte)ではありません(1 byte = 8 bit)。PC はブラウザーの WebRTC 統計(getStats())の transport の送受信バイト数(音声・映像・制御パケットをすべて含む)、サーバーは Jitsi ホストのネットワークインターフェースの送受信バイト数(IP / UDP ヘッダーを含む)を、どちらも 10 秒間隔で取り、差 × 8 ÷ 秒数で求めています。スマートフォンの表は受信した映像のみ(4 秒間隔)。1 秒あたりのデータ量 = レート ÷ 8(1.2 Mbps → 150 KB)、1 時間あたり = 1 秒あたりのデータ量 × 3,600(150 KB → 約 540 MB)。人数が多い場合の見積もり:映像 1 本あたり 720p 約 0.65、360p 約 0.2、180p 約 0.1 Mbps、PC 1 台のダウンロード ≈ 1 本あたり × (人数 − 1)、サーバーの送信 ≈ PC 1 台のダウンロード × 人数。実際の数値は画面の動き、ネットワーク、人数によって変わる参考値で、保証値ではありません。詳しい説明從設計到部署逐項把關。Checked item by item, from design to deployment.設計からデプロイまで、項目ごとにチェック。
實際操作畫面一覽。A tour of the actual interface.実際の操作画面をご紹介します。

登入後的主控台:輸入會議室名稱即可一鍵建立或進入會議室,也能亂數產生會議室名稱。下方「近期會議室」清單會顯示每間是誰建立、何時進入、開了多久,以及預約 / 大廳 / 主持人在線上等狀態,所有操作全程稽核。The console you land on after signing in: type a room name to create or join a room in one click, or generate a random name. The "Recent rooms" list below shows who created each room, when it was joined and how long it ran, plus scheduled / lobby / host-online status — and every action is audited.ログイン後のメイン画面:会議室名を入力するだけでワンクリックで会議室を作成または入室でき、ランダムな会議室名も生成できます。下の「最近の会議室」一覧には、各会議室を誰が作成し、いつ入室し、どれだけ続いたかに加え、予約 / ロビー / 主催者オンラインなどの状態が表示され、すべての操作が監査されます。

勾選「限定開放時段」即可設定會議開放時間並寄送含 .ics 行事曆的 Email 邀請;也能勾選「大廳模式」讓主持人逐一允許來賓進入。建立後立即取得邀請連結與 QR Code,可直接開始主持或先複製連結稍後使用。Tick "Limit to a time window" to set when the meeting is open and send email invitations with an .ics calendar file; tick "Lobby mode" so the host admits guests one by one. Once created you immediately get the invite link and QR code — start hosting right away or copy the link for later.「公開時間枠を限定」にチェックを入れると会議の公開時間を設定でき、.ics カレンダーファイル付きの招待メールを送信できます。「ロビーモード」にチェックを入れると、主催者がゲストを 1 人ずつ許可して入室させられます。作成するとすぐに招待リンクと QR コードが発行され、そのまま主催を始めることも、リンクをコピーして後で使うこともできます。

數據中心一頁掌握使用狀況。兩種模式通用:會議場次與時長、本期會議時長時間軸、主持人排行榜、近 30 天活動折線圖。另有 JaaS 模式專屬的本期 MAU 用量與方案上限、各計費週期歷史趨勢,並可手動校正用量基準(自建模式則自動隱藏這兩項、頁籤改稱「會議統計」)。A single dashboard for how the system is used. In both modes: meeting count and duration, a meeting-duration timeline for the current period, a host leaderboard and a 30-day activity chart. JaaS mode only: current-period MAU against your plan limit and the historical trend across billing periods, with manual correction of the usage baseline (in self-hosted mode these two are hidden and the tab is called "Meeting statistics").システムの利用状況を 1 ページで把握できます。両モード共通:会議数と会議時間、今期の会議時間タイムライン、主催者ランキング、直近 30 日の活動グラフ。JaaS モード専用:今期の MAU とプラン上限、課金期間ごとの推移、さらに利用量の基準値を手動で補正できます(セルフホストモードではこの 2 項目は非表示になり、タブ名は「会議統計」になります)。

登入登出、建立 / 進入會議室、寄送邀請、帳號與設定變更等行為全數留存。可依行為類型、關鍵字與日期範圍篩選,欄位標題可點選排序,並即時外拋 syslog / CEF / GELF 至 SIEM。Sign-ins and sign-outs, room creation / joins, sent invitations, account and settings changes — everything is kept. Filter by action type, keyword and date range, click column headers to sort, and forward events in real time as syslog / CEF / GELF to your SIEM.ログイン / ログアウト、会議室の作成 / 入室、招待の送信、アカウントや設定の変更など、すべての操作を保存します。操作の種類、キーワード、期間で絞り込め、列見出しをクリックして並べ替えでき、syslog / CEF / GELF で SIEM へリアルタイムに転送できます。

支援多個主持人帳號與角色:admin 可看全部會議室與管理頁,host 只看自己建立的。每個帳號可設定顯示名稱、Email、啟用 TOTP 雙因素認證,並可隨時編輯或停用。Multiple host accounts and roles: admins see all rooms and the admin pages, hosts see only the rooms they created. Each account has a display name and email, can enable TOTP two-factor authentication, and can be edited or disabled at any time.複数の主催者アカウントとロールに対応:admin はすべての会議室と管理ページを閲覧でき、host は自分が作成した会議室のみ閲覧できます。各アカウントには表示名とメールアドレスを設定でき、TOTP 二要素認証を有効化でき、いつでも編集や無効化が可能です。

集中管理所有設定:連線模式(8x8 JaaS / 自建 Jitsi Meet)、SMTP 寄信、會議記錄保留天數、Log 外拋、站台名稱與 Logo,以及 22 種外觀主題,一頁搞定。All settings in one place: connection mode (8x8 JaaS / self-hosted Jitsi Meet), SMTP mail, meeting-record retention, log forwarding, site name and logo, and 22 visual themes — all on a single page.すべての設定を 1 か所で管理:接続モード(8x8 JaaS / セルフホスト Jitsi Meet)、SMTP メール送信、会議記録の保持日数、ログ転送、サイト名とロゴ、22 種類の外観テーマまで、1 ページで完結します。

來賓憑邀請連結進入,須先輸入顯示名稱才能進場,進入會議時自動帶入該名稱。整個來賓流程都套用站台主題與品牌,與主持端體驗一致。Guests arrive via the invite link and must enter a display name before joining; that name is carried into the meeting automatically. The whole guest flow uses your site theme and branding, consistent with the host experience.ゲストは招待リンクからアクセスし、入室前に表示名の入力が必須です。その名前は会議に自動的に引き継がれます。ゲスト側の画面すべてにサイトのテーマとブランドが適用され、主催者側と一貫した体験を提供します。

非開放時段時,來賓會看到優雅的翻頁時鐘倒數與會議起訖時間;一旦主持人提前進入,系統每隔數秒自動偵測並放行,來賓無需重整、不必苦等。Outside the open window, guests see an elegant flip-clock countdown with the meeting's start and end times. If the host joins early, the page detects it within seconds and lets guests in — no reloading, no waiting around.公開時間外は、ゲストに洗練されたフリップ時計のカウントダウンと会議の開始・終了時刻を表示します。主催者が早めに入室すると数秒以内に自動で検知して入室を許可するため、ゲストはページを再読み込みしたり待ち続けたりする必要がありません。

主持人與來賓都開鏡頭的並排畫面。會議畫面是內嵌的 Jitsi Meet,顯示名稱、介面語言、預設版面與工具列都由 portal 進場時帶入;右下角按鈕可隨時叫出邀請連結與 QR code。(畫面中的鏡頭影像為示範用的虛構畫面)Host and guest in tile view with cameras on. The meeting is an embedded Jitsi Meet; display names, interface language, default layout and toolbar are set by the portal on entry, and the button at the bottom right brings up the invite link and QR code at any time. (Camera images are fictional demo visuals.)ホストとゲストがカメラをオンにしたタイル表示。会議画面は埋め込みの Jitsi Meet で、表示名・画面の言語・既定のレイアウト・ツールバーは入室時にポータルが設定します。右下のボタンでいつでも招待リンクと QR コードを表示できます。(カメラ映像はデモ用の架空の画面です)

主持人在會議中啟動錄製,自建 Jibri 開始錄影:畫面上方出現紅色錄影標示,所有與會者也會跳出「錄製中」通知。錄影完成後可在「錄影記錄」線上播放、下載,並可自動產生逐字稿與會議摘要。來賓的權杖不含錄影權限,無法自行錄影。The host starts recording in the meeting and the self-hosted Jibri begins recording: a red recording indicator appears at the top and every participant also gets a "Recording" notification. Afterwards the recording can be played or downloaded from Recordings, and a transcript and meeting summary can be generated automatically. Guest tokens carry no recording permission, so guests cannot start a recording themselves.ホストが会議中に録画を開始すると、セルフホストの Jibri が録画を始めます。画面上部に赤い録画中の表示が出て、参加者全員に「録画中」の通知も表示されます。録画後は「録画記録」で再生・ダウンロードでき、文字起こしと会議要約も自動生成できます。ゲストのトークンには録画権限がないため、ゲストが自分で録画することはできません。

會議中共用螢幕或視窗(例如簡報),圖為來賓看到的畫面;聊天、舉手、與會者名單等 Jitsi 功能照常可用。(簡報內容為示範資料)Share a screen or window (a slide deck, for example) during the meeting; this is what the guest sees. Jitsi features such as chat, raise hand and the participant list remain available. (Slide content is sample data.)会議中に画面やウィンドウ(プレゼン資料など)を共有できます。図はゲスト側の画面です。チャット、挙手、参加者一覧などの Jitsi の機能もそのまま使えます。(資料の内容はサンプルデータです)

「更多動作」選單:啟動錄製、安全性選項(大廳)、分享影片 / 音訊、選擇背景、發言統計等。要開放哪些功能,由系統設定的「會議室自訂」逐項勾選。The "More actions" menu: start recording, security options (lobby), share video / audio, background selection, participant stats and more. Which features are available is chosen item by item in Room customization in the system settings.「詳細アクション」メニュー:録画を開始、セキュリティオプション(ロビー)、動画 / 音声の共有、背景の選択、話者の統計など。どの機能を提供するかは、システム設定の「会議室のカスタマイズ」で項目ごとに選べます。

調閱自建 Jibri 主機產出的會議錄影:線上播放、下載、刪除,並顯示錄影主機磁碟容量與每筆的大小、長度、狀態。可依會議室 / 主持人 / 參與者搜尋,點任一列展開該場的參與者進出時間軸。「逐字稿」欄顯示每場的逐字稿狀態(已完成、處理中、產生失敗),可直接產生或查看。權限分明——主持人只看自己主持會議的錄影,管理者可管全部;保留政策(依時間 / 容量 / 殘留檔自動清理)也在此一目了然。Browse meeting recordings produced by your self-hosted Jibri host: play online, download, delete, and see the recording host's disk usage plus each file's size, length and status. Search by room / host / participant, and click any row to expand that meeting's participant join/leave timeline. The "Transcript" column shows each meeting's transcript status (done, processing, failed) and lets you generate or open it. Permissions are clear-cut — hosts see only recordings of meetings they hosted, admins manage everything — and the retention policy (automatic cleanup by age / capacity / leftover files) is visible at a glance.セルフホストの Jibri ホストで作成された会議の録画を閲覧:オンライン再生、ダウンロード、削除に加え、録画ホストのディスク使用量と各ファイルのサイズ・長さ・状態を表示します。会議室 / 主催者 / 参加者で検索でき、行をクリックするとその会議の参加者の入退室タイムラインを展開できます。「文字起こし」列には各会議の文字起こしの状態(完了、処理中、失敗)が表示され、そのまま生成や表示ができます。権限は明確で、主催者は自分が主催した会議の録画のみ、管理者はすべてを管理できます。保持ポリシー(期間 / 容量 / 残存ファイルによる自動クリーンアップ)もひと目で確認できます。

自建 Jitsi Meet 模式專用的會議室介面客製:進入時是否靜音 / 關鏡頭、畫質上限、預設檢視(演講者 / 畫廊)、是否關閉「視訊省頻寬」自動降載、小畫面(手機、多人並排)的接收畫質(預設/較高 360p/高 720p)、共用畫面(文字清晰/動態流暢),以及逐項勾選工具列要開放的功能(聊天、螢幕分享、舉手、錄影、虛擬背景、共享文件…)。所有設定都在進入會議時自動帶入 Jitsi,無需改動 Jitsi 設定檔。Meeting-UI customization for self-hosted Jitsi Meet mode: whether to join muted / with camera off, maximum video quality, default view (speaker / tile), whether to disable automatic "bandwidth saving" video downgrades, the receive quality for small tiles (phones, multi-person tile view: default / higher 360p / high 720p), screen sharing (sharp text / smooth motion), and which toolbar features to enable, item by item (chat, screen sharing, raise hand, recording, virtual background, shared documents…). Everything is applied to Jitsi automatically when joining — no Jitsi config files to edit.セルフホスト Jitsi Meet モード専用の会議画面カスタマイズ:入室時にミュート / カメラオフにするか、画質の上限、デフォルト表示(スピーカー / ギャラリー)、「帯域節約」による映像の自動低画質化を無効にするか、小さい画面(スマートフォン、多人数のタイル表示)の受信画質(既定/高め 360p/高 720p)、画面共有(文字を鮮明に/動きを滑らかに)、さらにツールバーで提供する機能を項目ごとに選択できます(チャット、画面共有、挙手、録画、バーチャル背景、共有ドキュメント…)。すべての設定は入室時に Jitsi へ自動適用されるため、Jitsi の設定ファイルを編集する必要はありません。

設定會議錄製者在與會者清單顯示的名稱,並串接自建 Jibri 主機的錄影調閱服務——填入服務 URL 與 token 後即顯示連線狀態與已註冊錄製器數,並附上增減錄製器的文件連結。錄影保留政策可依時間(保留 N 天)、容量(保留可用空間或總量上限)或殘留檔自動清理,預設全部停用以策安全。Set the name the meeting recorder shows in the participant list, and connect to the recording service on your self-hosted Jibri host — enter the service URL and token to see the connection status and number of registered recorders, with a link to docs on adding or removing recorders. Recording retention can clean up automatically by age (keep N days), capacity (keep free space or cap total usage) or leftover files, and is all disabled by default to be safe.会議の録画者が参加者一覧に表示される名前を設定し、セルフホストの Jibri ホストの録画サービスと連携します。サービスの URL とトークンを入力すると接続状態と登録済みの録画器の数が表示され、録画器の増減に関するドキュメントへのリンクも表示されます。録画の保持ポリシーは期間(N 日保持)、容量(空き容量の確保または合計使用量の上限)、残存ファイルによる自動クリーンアップに対応し、安全のためデフォルトではすべて無効です。

錄影完成後由自架的 jt-live-whisper 產生摘要:重點摘要、決議與待辦(含負責人與期限)、事件與影響、風險、未決問題、議題時間軸與發言統計。每一條都附逐字稿的時間點與發言者,點一下就跳到錄影該處播放並標亮對應段落。Once a recording finishes, a self-hosted jt-live-whisper produces the summary: key points, decisions and action items (with owner and due date), events, risks, open questions, a topic timeline and speaker statistics. Every item cites the time and speaker in the transcript — click it to play the recording from there with the matching lines highlighted.録画完了後、セルフホストの jt-live-whisper が要約を作成:要点、決定事項と ToDo(担当・期限付き)、出来事と影響、リスク、未解決の質問、トピックのタイムライン、発言統計。各項目に文字起こし内の時刻と話者が付き、クリックすると録画のその位置から再生し、該当する行を強調表示します。

播放器顯示整段波形,逐字稿依發言者配色、跟著播放自動捲動。發言者對應建議比對會議中 Jitsi 記錄的「目前發言者」時間軸,指出 S1、S2 各是哪位參與者(例如「王經理 91%」),一鍵全部套用;也能點名字手動改名。The player shows the whole waveform, and the transcript is coloured by speaker and scrolls along with playback. Speaker suggestions compare it with the "current speaker" timeline Jitsi recorded during the meeting to tell you which participant S1, S2… is (e.g. "Alex Wang 91%") — apply them all with one click, or click a name to rename it yourself.プレーヤーは波形全体を表示し、文字起こしは話者ごとに色分けされ再生に合わせて自動スクロールします。話者の候補は会議中に Jitsi が記録した「現在の発言者」タイムラインと照合し、S1、S2… がどの参加者か(例:「Alex Wang 91%」)を示します。ワンクリックで一括適用するか、名前をクリックして手動で変更できます。

管理員在系統設定填入 jt-live-whisper 的網址、API 金鑰與憑證(自簽憑證貼 PEM,一律驗證),選擇會議語言與辨識模式、是否產生摘要,再註冊完成通知 webhook。誰能使用由帳號權限(不可使用 / 手動 / 自動)與建立會議室時的單場開關決定。Admins enter the jt-live-whisper URL, API key and certificate (paste the PEM of a self-signed certificate — verification is always on), choose the meeting language, recognition profile and whether to summarise, then register the completion webhook. Who may use it is set per account (off / manual / automatic) and per meeting when creating a room.管理者はシステム設定で jt-live-whisper の URL、API キー、証明書(自己署名証明書は PEM を貼り付け、検証は常に有効)を入力し、会議の言語、認識モード、要約の有無を選んで完了通知の webhook を登録します。利用できる人はアカウント権限(利用不可 / 手動 / 自動)と、会議室作成時の会議ごとのスイッチで決まります。

整份會議記錄一鍵下載為 PDF / DOCX / ODT / HTML:會議資訊、摘要、議題、發言統計與完整逐字稿,發言者名稱套用改名。PDF 只嵌入用到的中日文字形,檔案小、文字可選取與搜尋;全部由 portal 自行產生,主機不需安裝 LibreOffice 等套件。Download the whole record as PDF / DOCX / ODT / HTML: meeting details, summary, topics, speaker statistics and the full transcript, with renamed speakers. The PDF embeds only the Chinese / Japanese glyphs it uses, so it stays small and its text can be selected and searched — all generated by the portal itself, with no LibreOffice or similar package on the server.議事録一式を PDF / DOCX / ODT / HTML でワンクリックダウンロード:会議情報、要約、トピック、発言統計、全文の文字起こし(名前の変更を反映)。PDF は使用した中国語・日本語の字形だけを埋め込むため小さく、テキストの選択と検索もできます。すべてポータル自身が生成し、サーバーに LibreOffice などは不要です。
三種安裝方式,資料與設定皆持久化、更新不遺失。Three ways to install; data and settings are persisted and survive updates.3 通りのインストール方法があり、データと設定は永続化されるため更新しても失われません。
| 項目Item項目 | 最低Minimum最小 | 建議Recommended推奨 |
|---|---|---|
| PHP | 8.3 | 8.4 |
| Web 伺服器Web serverWeb サーバー | Apache + mod_rewrite(AllowOverride All)Apache + mod_rewrite (AllowOverride All)Apache + mod_rewrite(AllowOverride All) | 同左 + HTTPSSame + HTTPS同左 + HTTPS |
| PHP 擴充PHP extensionsPHP 拡張 | openssl、fileinfo、json、mbstring、curl、zlibopenssl, fileinfo, json, mbstring, curl, zlibopenssl、fileinfo、json、mbstring、curl、zlib | 同左Same同左 |
| 其他Otherその他 | 可寫入資料目錄;JaaS 模式需 8x8 私鑰A writable data directory; the 8x8 private key for JaaS mode書き込み可能なデータディレクトリ。JaaS モードでは 8x8 の秘密鍵が必要 | Docker 24+ |
# 取得程式並啟用 .htaccess git clone https://github.com/jasoncheng7115/jt-vc-portal.git cd jt-vc-portal a2enmod rewrite headers cp dot.htaccess .htaccess # 持久化資料目錄(預設 /var/jaas-data,可於 config.php 調整) sudo mkdir -p /var/jaas-data && sudo chown www-data:www-data /var/jaas-data # JaaS 模式才需要:放入 8x8 私鑰 sudo mkdir -p keys && sudo cp /path/to/private.key keys/private.key
# Get the code and enable .htaccess git clone https://github.com/jasoncheng7115/jt-vc-portal.git cd jt-vc-portal a2enmod rewrite headers cp dot.htaccess .htaccess # Persistent data directory (default /var/jaas-data, adjustable in config.php) sudo mkdir -p /var/jaas-data && sudo chown www-data:www-data /var/jaas-data # JaaS mode only: put the 8x8 private key in place sudo mkdir -p keys && sudo cp /path/to/private.key keys/private.key
# コードを取得して .htaccess を有効化 git clone https://github.com/jasoncheng7115/jt-vc-portal.git cd jt-vc-portal a2enmod rewrite headers cp dot.htaccess .htaccess # 永続化データディレクトリ(デフォルト /var/jaas-data、config.php で変更可能) sudo mkdir -p /var/jaas-data && sudo chown www-data:www-data /var/jaas-data # JaaS モードのみ:8x8 の秘密鍵を配置 sudo mkdir -p keys && sudo cp /path/to/private.key keys/private.key
git clone https://github.com/jasoncheng7115/jt-vc-portal.git
cd jt-vc-portal
docker build --pull -t jt-vc-portal .
mkdir -p /opt/jt-vc-portal/keys /opt/jt-vc-portal/data
chown 33:33 /opt/jt-vc-portal/data
cp /path/to/private.key /opt/jt-vc-portal/keys/private.key # JaaS 模式
docker run -d --restart unless-stopped -p 127.0.0.1:58189:58189 \
-e JTVC_ADMIN_EMAIL="admin@example.com" \
-e JTVC_ADMIN_PASSWORD="請設定強密碼" \
-e JTVC_TRUSTED_PROXIES="127.0.0.1,172.16.0.0/12" \
-v /opt/jt-vc-portal/keys/:/var/www/html/keys \
-v /opt/jt-vc-portal/data/:/var/jaas-data \
--name jt-vc-portal jt-vc-portal
git clone https://github.com/jasoncheng7115/jt-vc-portal.git
cd jt-vc-portal
docker build --pull -t jt-vc-portal .
mkdir -p /opt/jt-vc-portal/keys /opt/jt-vc-portal/data
chown 33:33 /opt/jt-vc-portal/data
cp /path/to/private.key /opt/jt-vc-portal/keys/private.key # JaaS mode
docker run -d --restart unless-stopped -p 127.0.0.1:58189:58189 \
-e JTVC_ADMIN_EMAIL="admin@example.com" \
-e JTVC_ADMIN_PASSWORD="set-a-strong-password" \
-e JTVC_TRUSTED_PROXIES="127.0.0.1,172.16.0.0/12" \
-v /opt/jt-vc-portal/keys/:/var/www/html/keys \
-v /opt/jt-vc-portal/data/:/var/jaas-data \
--name jt-vc-portal jt-vc-portal
git clone https://github.com/jasoncheng7115/jt-vc-portal.git
cd jt-vc-portal
docker build --pull -t jt-vc-portal .
mkdir -p /opt/jt-vc-portal/keys /opt/jt-vc-portal/data
chown 33:33 /opt/jt-vc-portal/data
cp /path/to/private.key /opt/jt-vc-portal/keys/private.key # JaaS モード
docker run -d --restart unless-stopped -p 127.0.0.1:58189:58189 \
-e JTVC_ADMIN_EMAIL="admin@example.com" \
-e JTVC_ADMIN_PASSWORD="強力なパスワードを設定" \
-e JTVC_TRUSTED_PROXIES="127.0.0.1,172.16.0.0/12" \
-v /opt/jt-vc-portal/keys/:/var/www/html/keys \
-v /opt/jt-vc-portal/data/:/var/jaas-data \
--name jt-vc-portal jt-vc-portal
# 不想自己 build,直接下載 Release 打包映像(linux/amd64) curl -LO https://github.com/jasoncheng7115/jt-vc-portal/releases/download/v1.25.1/jt-vc-portal-1.25.1-docker-amd64.tar.gz sha256sum -c jt-vc-portal-1.25.1-docker-amd64.tar.gz.sha256 # 驗證完整性 docker load < jt-vc-portal-1.25.1-docker-amd64.tar.gz # 載入為 jt-vc-portal:latest mkdir -p /opt/jt-vc-portal/keys /opt/jt-vc-portal/data chown 33:33 /opt/jt-vc-portal/data cp /path/to/private.key /opt/jt-vc-portal/keys/private.key # JaaS 模式才需要 docker run -d --restart unless-stopped -p 127.0.0.1:58189:58189 \ -e JTVC_ADMIN_EMAIL="admin@example.com" \ -e JTVC_ADMIN_PASSWORD="請設定強密碼" \ -e JTVC_TRUSTED_PROXIES="127.0.0.1,172.16.0.0/12" \ -v /opt/jt-vc-portal/keys/:/var/www/html/keys \ -v /opt/jt-vc-portal/data/:/var/jaas-data \ --name jt-vc-portal jt-vc-portal:latest
# Skip building: download the packaged image from the Release (linux/amd64) curl -LO https://github.com/jasoncheng7115/jt-vc-portal/releases/download/v1.25.1/jt-vc-portal-1.25.1-docker-amd64.tar.gz sha256sum -c jt-vc-portal-1.25.1-docker-amd64.tar.gz.sha256 # verify integrity docker load < jt-vc-portal-1.25.1-docker-amd64.tar.gz # loads as jt-vc-portal:latest mkdir -p /opt/jt-vc-portal/keys /opt/jt-vc-portal/data chown 33:33 /opt/jt-vc-portal/data cp /path/to/private.key /opt/jt-vc-portal/keys/private.key # JaaS mode only docker run -d --restart unless-stopped -p 127.0.0.1:58189:58189 \ -e JTVC_ADMIN_EMAIL="admin@example.com" \ -e JTVC_ADMIN_PASSWORD="set-a-strong-password" \ -e JTVC_TRUSTED_PROXIES="127.0.0.1,172.16.0.0/12" \ -v /opt/jt-vc-portal/keys/:/var/www/html/keys \ -v /opt/jt-vc-portal/data/:/var/jaas-data \ --name jt-vc-portal jt-vc-portal:latest
# 自分でビルドしない場合:Release のパッケージ済みイメージを直接ダウンロード(linux/amd64) curl -LO https://github.com/jasoncheng7115/jt-vc-portal/releases/download/v1.25.1/jt-vc-portal-1.25.1-docker-amd64.tar.gz sha256sum -c jt-vc-portal-1.25.1-docker-amd64.tar.gz.sha256 # 完全性を検証 docker load < jt-vc-portal-1.25.1-docker-amd64.tar.gz # jt-vc-portal:latest として読み込まれる mkdir -p /opt/jt-vc-portal/keys /opt/jt-vc-portal/data chown 33:33 /opt/jt-vc-portal/data cp /path/to/private.key /opt/jt-vc-portal/keys/private.key # JaaS モードのみ必要 docker run -d --restart unless-stopped -p 127.0.0.1:58189:58189 \ -e JTVC_ADMIN_EMAIL="admin@example.com" \ -e JTVC_ADMIN_PASSWORD="強力なパスワードを設定" \ -e JTVC_TRUSTED_PROXIES="127.0.0.1,172.16.0.0/12" \ -v /opt/jt-vc-portal/keys/:/var/www/html/keys \ -v /opt/jt-vc-portal/data/:/var/jaas-data \ --name jt-vc-portal jt-vc-portal:latest
系統對外為 :58189,正式環境建議前面再以 nginx 或 Apache 反向代理掛上 HTTPS。The app listens on :58189; in production, put nginx or Apache in front as a reverse proxy to provide HTTPS.アプリは :58189 で待ち受けます。本番環境では、前段に nginx または Apache をリバースプロキシとして置き、HTTPS を提供することをおすすめします。
# nginx 範例 server { listen 443 ssl; server_name your-domain.com; # ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem; location / { proxy_pass http://127.0.0.1:58189/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
# nginx example server { listen 443 ssl; server_name your-domain.com; # ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem; location / { proxy_pass http://127.0.0.1:58189/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
# nginx の例 server { listen 443 ssl; server_name your-domain.com; # ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem; location / { proxy_pass http://127.0.0.1:58189/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
X-Real-IP 取得真實來源 IP(fail2ban 鎖定與稽核用),請務必讓反向代理帶上此 header。公開上線資安重點:設定 JTVC_TRUSTED_PROXIES(逗號分隔 IP/CIDR)只採信可信代理的來源標頭,並以 -p 127.0.0.1:58189:58189 或防火牆限制容器埠只讓反代可達——否則攻擊者可偽造 X-Real-IP 繞過 fail2ban、污染稽核。留空=相容模式(盲信標頭,須搭配埠隔離)。經 Cloudflare 時讓反代由 CF-Connecting-IP 帶入 X-Real-IP。完整 Apache 站台設定範例請見 GitHub README。The app takes the real client IP from X-Real-IP (for fail2ban lockout and auditing), so make sure your reverse proxy sends this header. Security essentials for a public deployment: set JTVC_TRUSTED_PROXIES (comma-separated IPs/CIDRs) so forwarded headers are trusted only from your proxies, and use -p 127.0.0.1:58189:58189 or a firewall so only the proxy can reach the container port — otherwise an attacker can forge X-Real-IP to bypass fail2ban and pollute the audit log. Leaving it empty = compatibility mode (headers trusted blindly; requires port isolation). Behind Cloudflare, have the proxy populate X-Real-IP from CF-Connecting-IP. For a full Apache site configuration example, see the GitHub README.アプリは X-Real-IP から実際の接続元 IP を取得します(fail2ban のロックアウトと監査に使用)。リバースプロキシが必ずこのヘッダーを付与するようにしてください。公開運用時のセキュリティの要点:JTVC_TRUSTED_PROXIES(カンマ区切りの IP/CIDR)を設定して信頼できるプロキシからの転送ヘッダーのみを採用し、-p 127.0.0.1:58189:58189 またはファイアウォールでコンテナのポートにリバースプロキシだけが到達できるよう制限してください。そうしないと、攻撃者が X-Real-IP を偽装して fail2ban を回避し、監査ログを汚染できてしまいます。空欄の場合は互換モード(ヘッダーを無条件に信頼するため、ポートの分離が必須)です。Cloudflare 経由の場合は、リバースプロキシで CF-Connecting-IP の値を X-Real-IP に設定してください。Apache のサイト設定の完全な例は GitHub README をご覧ください。所有設定與資料(帳號、會議室、稽核、用量等)都存在 DATA_DIR 或掛載卷,更新不會遺失,JSON 結構會自動相容升級。更新前仍建議先備份資料目錄與 keys/。All settings and data (accounts, rooms, audit log, usage, etc.) live in DATA_DIR or the mounted volumes, so nothing is lost on update, and the JSON structures are upgraded compatibly and automatically. Backing up the data directory and keys/ before updating is still recommended.すべての設定とデータ(アカウント、会議室、監査ログ、利用量など)は DATA_DIR またはマウントしたボリュームに保存されるため、更新しても失われません。JSON の構造も互換性を保ったまま自動的にアップグレードされます。それでも更新前にデータディレクトリと keys/ をバックアップしておくことをおすすめします。
# 共同:更新前備份(建議) cp -a /opt/jt-vc-portal/data /opt/jt-vc-portal/data.bak-$(date +%Y%m%d) # 方法一:直接安裝 git pull cp dot.htaccess .htaccess # 若 .htaccess 有更新 sudo systemctl reload apache2 # 清 opcache # 方法二:Docker 自行 build git pull docker build --pull -t jt-vc-portal . docker stop jt-vc-portal && docker rm jt-vc-portal docker run -d --restart unless-stopped -p 58189:58189 \ -v /opt/jt-vc-portal/keys/:/var/www/html/keys \ -v /opt/jt-vc-portal/data/:/var/jaas-data \ --name jt-vc-portal jt-vc-portal # 方法三:下載 Release 預建映像(不自行 build) curl -LO https://github.com/jasoncheng7115/jt-vc-portal/releases/latest/download/jt-vc-portal-<新版本>-docker-amd64.tar.gz docker load < jt-vc-portal-<新版本>-docker-amd64.tar.gz docker stop jt-vc-portal && docker rm jt-vc-portal # 再以方法二相同參數重新 docker run
# All methods: back up before updating (recommended) cp -a /opt/jt-vc-portal/data /opt/jt-vc-portal/data.bak-$(date +%Y%m%d) # Option 1: direct install git pull cp dot.htaccess .htaccess # if .htaccess changed sudo systemctl reload apache2 # clears opcache # Option 2: build with Docker yourself git pull docker build --pull -t jt-vc-portal . docker stop jt-vc-portal && docker rm jt-vc-portal docker run -d --restart unless-stopped -p 58189:58189 \ -v /opt/jt-vc-portal/keys/:/var/www/html/keys \ -v /opt/jt-vc-portal/data/:/var/jaas-data \ --name jt-vc-portal jt-vc-portal # Option 3: download the prebuilt Release image (no build) curl -LO https://github.com/jasoncheng7115/jt-vc-portal/releases/latest/download/jt-vc-portal-<new-version>-docker-amd64.tar.gz docker load < jt-vc-portal-<new-version>-docker-amd64.tar.gz docker stop jt-vc-portal && docker rm jt-vc-portal # then docker run again with the same options as Option 2
# 共通:更新前にバックアップ(推奨) cp -a /opt/jt-vc-portal/data /opt/jt-vc-portal/data.bak-$(date +%Y%m%d) # 方法 1:直接インストール git pull cp dot.htaccess .htaccess # .htaccess が更新された場合 sudo systemctl reload apache2 # opcache をクリア # 方法 2:Docker で自分でビルド git pull docker build --pull -t jt-vc-portal . docker stop jt-vc-portal && docker rm jt-vc-portal docker run -d --restart unless-stopped -p 58189:58189 \ -v /opt/jt-vc-portal/keys/:/var/www/html/keys \ -v /opt/jt-vc-portal/data/:/var/jaas-data \ --name jt-vc-portal jt-vc-portal # 方法 3:Release のビルド済みイメージをダウンロード(ビルドなし) curl -LO https://github.com/jasoncheng7115/jt-vc-portal/releases/latest/download/jt-vc-portal-<新バージョン>-docker-amd64.tar.gz docker load < jt-vc-portal-<新バージョン>-docker-amd64.tar.gz docker stop jt-vc-portal && docker rm jt-vc-portal # その後、方法 2 と同じオプションで再度 docker run
DATA_DIR,換容器不受影響;登入後可從左上版本號確認已更新到新版。Data and the private key live in the mounted volumes / DATA_DIR, so replacing the container does not affect them; after signing in, check the version number at the top left to confirm the update.データと秘密鍵はマウントしたボリューム / DATA_DIR にあるため、コンテナを入れ替えても影響を受けません。ログイン後、左上のバージョン番号で新しいバージョンに更新されたことを確認できます。自建 Jitsi Meet、錄影、單一登入(Keycloak)與逐字稿 / 會議摘要的完整部署 SOP。Complete deployment SOPs for self-hosted Jitsi Meet, recording, single sign-on (Keycloak) and transcripts / meeting summaries.セルフホスト Jitsi Meet、録画、シングルサインオン(Keycloak)、文字起こし / 会議要約の完全なデプロイ手順書(SOP)。
從官方 Docker 版 Jitsi Meet 一路設定到與 jt-vc-portal 搭配:架構、連接埠 / NAT、TLS、JWT 與主持人權限、媒體後援 / TURN。From the official Docker edition of Jitsi Meet all the way to working with jt-vc-portal: architecture, ports / NAT, TLS, JWT and host permissions, media fallback / TURN.公式の Docker 版 Jitsi Meet から jt-vc-portal との連携までを一通り設定:アーキテクチャ、ポート / NAT、TLS、JWT と主催者権限、メディアのフォールバック / TURN。
在自建 Jitsi Meet 上加上 Jibri 錄影:VM 需求、snd-aloop、同時多會議室錄製、錄影中文顯示(CJK 字型)、獨立 Jibri VM 實作。Add Jibri recording to a self-hosted Jitsi Meet: VM requirements, snd-aloop, recording several rooms at once, rendering Chinese text in recordings (CJK fonts), and running Jibri on a dedicated VM.セルフホストの Jitsi Meet に Jibri 録画を追加:VM の要件、snd-aloop、複数会議室の同時録画、録画での中国語表示(CJK フォント)、専用 Jibri VM での構築。
非必要——不安裝完全不影響 Jitsi Meet 與會議運作,只是不提供錄影功能;需要時再加裝即可。Not required — without it, Jitsi Meet and your meetings work exactly the same, just without recording; add it whenever you need it.必須ではありません。導入しなくても Jitsi Meet と会議はまったく同じように動作し、録画機能が使えないだけです。必要になったときに追加できます。
在獨立主機架設 Keycloak,以 LDAPS 聯合 AD,讓主持人與管理員用公司帳號登入:AD 群組對應角色、強制 OTP、防暴力破解、管理介面不對外、僅限單一登入模式。Run Keycloak on its own host, federate AD over LDAPS and let hosts and admins sign in with their company account: AD groups → roles, mandatory OTP, brute-force protection, admin console kept internal, SSO-only mode.専用ホストに Keycloak を構築し LDAPS で AD と連携、ホストと管理者が会社アカウントでログイン:AD グループ → ロール、OTP 必須、総当たり対策、管理コンソール非公開、SSO のみモード。
本系統不直接連 AD / LDAP;未設定時照常使用本地帳號。The portal never connects to AD / LDAP directly; without it, local accounts work as before.ポータルは AD / LDAP に直接接続しません。未設定ならローカルアカウントで従来どおり利用できます。
錄影完成後交給自架的 jt-live-whisper 產生逐字稿與會議摘要:JTLW 端金鑰與憑證、portal 設定、背景排程、帳號權限與單場開關、發言者建議、PDF / DOCX / ODT / HTML 匯出、資料保留與疑難排解。Send finished recordings to a self-hosted jt-live-whisper for transcripts and meeting summaries: JTLW key and certificate, portal settings, the background job, per-account and per-meeting permissions, speaker suggestions, PDF / DOCX / ODT / HTML export, data retention and troubleshooting.録画完了後にセルフホストの jt-live-whisper で文字起こしと会議要約を作成:JTLW 側のキーと証明書、ポータルの設定、バックグラウンドジョブ、アカウント権限と会議ごとのスイッチ、話者の候補、PDF / DOCX / ODT / HTML エクスポート、データ保持とトラブルシューティング。
需要自建 Jitsi Meet + Jibri 錄影;portal 本身不連任何語言模型。Requires self-hosted Jitsi Meet + Jibri recording; the portal itself never connects to a language model.セルフホストの Jitsi Meet + Jibri 録画が必要です。ポータル自身は言語モデルに接続しません。
資安問題請依 SECURITY.md 通報(請勿開公開 issue);已發布的安全公告見 Security advisories。To report a security issue, follow SECURITY.md (please do not open a public issue). Published advisories: Security advisories.セキュリティ上の問題は SECURITY.md に従って報告してください(公開 issue は作成しないでください)。公開済みのアドバイザリ:Security advisories。