コンテンツにスキップ

現場への導入

1 つの現場に TreeT を立ち上げる大まかな手順です。(インストールファイルや詳細な手順は、導入時に提供されるデプロイパッケージとともに ご案内します。)

インストールの前に、以下を準備します。役割ごとに 別々の機器 を使うのが基本ですが、規模によってはまとめることも できます。

役割台数準備するもの
CMS サーバーサイトごとに 1
(複数のサイトを 1 つの CMS で運用可能)
Ubuntu 26.04 LTS。Docker はインストーラーが自動でインストールします → CMS サーバーのインストール
キオスクサイトごとに N
(通常 10〜30 台)
Windows・Linux・Android のいずれか。ディスプレイと有線ネットワーク。
最低スペック: Windows 10 以上(64 ビット)・Linux 64 ビット(x86-64・Raspberry Pi は 5 + 64 ビット OS で確認)・Android 7.0 以上
シンクサーバーマルチスクリーン使用時に 1Windows 10 以上(64 ビット)または Linux 64 ビット(x86-64・arm64)。別途ランタイムのインストールは不要(単一の実行ファイル)
エッジ中継機閉域網の現場のみ 1Windows 11 22H2 以上、内部網と外部網の 両方に接続された 機器

ファイアウォール・ルーターを設定する際に使う表です。方向が 2 つある ことを先に確認してください — ほとんどは キオスクからサーバーへ出ていきますが、リモート制御だけが逆方向で入ってきます。

キオスク → サーバー(送信方向)

Section titled “キオスク → サーバー(送信方向)”
ポート用途接続先塞がれると
8443CMS セキュア接続 — 登録・設定・編成・コンテンツのダウンロードCMS(または MqttEdge)画面が新しい編成に切り替わりません
8080CMS 平文接続 — https を使わない現場CMS〃
8883MQTT(TLS) — リモートコマンド・状態報告CMS ブローカー(または MqttEdge)リモート制御・即時反映ができません。再生自体は続きます
53000 から同期再生 — シンクプールごとにポート 1 つSyncServer複数画面の再生がずれます

⚠️ https(8443)で運用する現場は 8080 を外部に開けません — 平文の入口だからです。そのため現場の外(別のネットワーク)に いるキオスクは CMS のアドレスとコンテンツアドレスの両方を https://…:8443 に してください。機器設定で CMS のアドレスだけを変更すると、 コンテンツアドレスは CMS が追従して変更します — 両方が同じ入口だった場合は https://…:8443/data のように ポートまで 変わります。

⚠️ Android 7.0 以下の機器には TreeTview Android 2026.9.135 以上が必要です — CMS が Let’s Encrypt 証明書を使う現場(https 8443)の場合です。それらの機器は Let’s Encrypt のルート証明書(ISRG Root X1)を認識できず、 CMS を信頼できないため接続できません(実測: Galaxy Note4・Android 6、2026-09-22)。2026.9.135 以降はアプリがその ルート証明書を直接搭載しているため接続できます。それより低い版がインストールされた機器は CMS に接続できないため CMS からは アップデートできず、新しい版を直接インストールする必要があります。

⚠️ 53000 番台は現場内だけでやり取りされます — インターネットへ出ていかないため、ルーターに穴を開ける 必要はありません。プールを追加すると 53001・53002…と 1 つずつ増えます(CMS が空いている番号を見つけます)。

サーバー → キオスク(受信方向)

Section titled “サーバー → キオスク(受信方向)”
ポート用途塞がれると
5900VNC リモート制御 — その画面を直接見て操作しますリモート制御ボタンが開きません

🔴 これだけが方向が逆です。 他のポートをすべて開けても、これを忘れるとリモート制御だけができません — そして残りは正常に動くため、原因を見つけにくいです。機器ごとに異なるポートを使う場合は 機器管理(기기관리) → 機器ページ上部の 基本情報を編集 → リモート接続 欄に アドレス[:ポート] で入力します(管理者以上)。

管理者側だけで使うポート(キオスクとは無関係)

Section titled “管理者側だけで使うポート(キオスクとは無関係)”
ポート用途
4822・8080Guacamole 内部通信
5500・5901VNC リピーター(閉域網構成でサーバー側・ビューアー側)

🔵 データベースポート(3306)は外部に開けません。 スタック内だけでやり取りされます。

エッジがある場合、キオスクは エッジにのみ 接続し、CMS に直接接続しません。エッジが現場側に 8883(MQTT)と 8443(コンテンツプロキシ)を開け、外部へは エッジが中央へ出ていく接続 1 つ だけがあります。

⭐ そのため閉域網でも ルーターに入ってくる穴を開ける必要はありません — エッジが外へ 出ていく方向だからです。

🔵 この順番どおりに行ってください。 特に 2 と 3 を入れ替えてはいけません — CMS のアドレスは プレーヤーの画面で 入力するため、プレーヤーが先にインストールされている必要があります。

  1. CMS のインストール — CMS ホストにサーバーを立ち上げ、接続アドレス(IP/ドメイン + ポート)を確定 します。 → CMS サーバーのインストール
  2. キオスクにプログラムをインストール — プレーヤー(+ 監視プログラム、必要ならシンクサーバー)をインストールします。 → 下記 「キオスク PC へのインストール」
  3. CMS のアドレスを入力 — プレーヤーの画面で F8。監視プログラム・シンクサーバーは インストール時に 入力するか(該当する版から)、後でコマンド・ファイルで入力します。 → 下記 「CMS のアドレスを入力する」・「ほかのプログラムにも CMS のアドレスが必要です」
  4. 🔴 反映されたか確認 — プレーヤーのログの [사이트설정] 확인 の行を 目で確認します。 → 下記 「正しく反映されたかを確認する方法」。この手順を飛ばすと、後で原因を突き止められません。
  5. (HTTPS + IP アドレスの現場のみ)サーバー証明書の信頼登録 — 下記 「アドレスに IP を使う現場」。
  6. 機器の登録 + 編成 — アドレスが正しければ、プレーヤーが 自ら CMS に登録 されます(機器証明書も 自動で発行されます)。CMS の管理画面でコンテンツ・編成を決めます。プログラムの新しい版は CMS の更新方式(自動・手動)に従ってすべての機器が一緒に受け取ります (管理画面)。

プログラムごとに 必要な権限が異なります。 インストールの順番を決める際に、あらかじめ把握しておいてください。

プログラムインストール権限インストール先
TreeTview(プレーヤー)一般ユーザーそのユーザーの個人フォルダー
🔴 SyncServer(同期)管理者プログラムフォルダー(共用)
🔴 Watchdog(監視)管理者プログラムフォルダー(共用)
🔴 MqttEdge(閉域網中継)管理者共用フォルダー

一般ユーザーでインストールするのはプレーヤーだけで、アカウントごとに別々にインストール されます — 同じ PC を複数の人が使う場合は、 その人のアカウントでログインしてインストールする必要があります。

ビューアーの画面からアップデートする

Section titled “ビューアーの画面からアップデートする”

インストーラーを直接実行する代わりに、ビューアーの画面で確認してインストール することもできます。 CMS がその機器に渡す新しい版があれば(プログラムの版)、 現場で次のように操作します:

  1. ビューアーで F8 を押して設定画面を開きます。
  2. 프로그램 업데이트(プログラムアップデート) の項目で [확인](確認) を押します — 現在のバージョンと状態が表示されます。
  3. 受け取るものがあれば [지금 설치](今すぐインストール) が有効になります。

Linux 機器のアップデート — インストーラーはありません

Section titled “Linux 機器のアップデート — インストーラーはありません”

Linux には Windows のようなインストールファイル(.exe)はありません。インストール本体は 1 つの圧縮ファイル(.tar.gz)で、 その中に ファイルごとの検査値を記載したリストと、そのリストの署名 が一緒に入っています。 CMS から新しい版を受け取る方法(運用時間外・[지금 설치](今すぐインストール))は Windows と同じです。

WindowsLinux
受け取るものインストールファイル(.exe)圧縮ファイル(.tar.gz)+ 署名されたファイルリスト
インストール方法インストールファイルを静かに実行新しいフォルダーに展開して フォルダーを入れ替え
確認することファイルの署名リストの署名 + ファイルごとの検査値
起動しない場合人が確認する必要があります自動で古いフォルダーに戻します

CMS が立ち上がった後、画面を表示する キオスク PC ごとに 行います。

インストールファイルはパッケージ一式の 설치파일\(インストールファイル)フォルダーにあります(C:\treet\설치파일\) — CMS インストールマニュアルの 「始める前に」 を参照。 🔴 そのフォルダーを丸ごとキオスク PC に移し、その PC で実行します — インストーラーは 自分が置かれているフォルダーを基準に 動作します。

⚠️ パッケージ一式の TreeT_코드서명_공개인증서.cer(コード署名の公開証明書)も一緒に持っていってください。これを先に登録 しないと、自動アップデートが黙って失敗します(上記 「インストールとアップデート」 を参照)。

順番プログラム必須か
1TreeTview — 画面を表示するプレーヤー✅ 必須
2Watchdog — プレーヤーが終了したら再起動し、新しい版を代わりにインストールします✅ 推奨(無人の現場では事実上必須)
3SyncServer — 複数の画面を 同じタイミングで 切り替える場合のみ必要な現場のみ
4🔴 UltraVNC — CMS からこの機器の画面を見る場合✅ 推奨

タスクバー・通知が画面の上に出てこないように

Section titled “タスクバー・通知が画面の上に出てこないように”

プレーヤーが 全画面(キオスク) のときは、タスクバーより 上 にあります。通知や他のウィンドウが一瞬フォーカスを奪っても、タスクバーはプレーヤーの上に出てきません。ショートカットで全画面を抜けて ウィンドウモード になると、普通のウィンドウのように下がります。

WindowsLinux(Raspberry Pi)
プレーヤーが全画面のときプレーヤーがタスクバーの上を覆いますウィンドウマネージャー(labwc)がタスクバーを自ら隠します — プレーヤーはタスクバーを止めません
通知Watchdog が通知を切っておき、オンになれば戻します—
タッチ画面の端からのスワイプキオスク設定(Settings_All.cmd)が切ります — コンピューター全体の設定なので、Watchdog はずれていれば 報告のみ します—
電源を入れた直後—インストール時のハードニングがタスクバーを 自動起動から外します
ウィンドウモードのとき—カーソル非表示がオンなら、プレーヤーがタスクバーを止めます(予備)

⚠️ カーソルはプレーヤーのウィンドウの上でだけ隠れます — プレーヤーが覆わない画面(2 台目のモニターなど)では見えます(Windows · Linux 共通)。

🔵 プレーヤーが画面にないときは、タスクバー・カーソルが表示されます — プレーヤーを終了する(F4)か隠す(F11)と、タスクバーとカーソルが戻り、その PC をすぐに使えます。プレーヤーが再び表示されると ユーザーが選んだとおり(F9 · F10 で選んだもの — 選んでいなければ両方とも非表示)に戻ります。プレーヤーが突然終了した場合も、Watchdog がタスクバー・カーソルを元に戻します。

インストール後に確認すること

Section titled “インストール後に確認すること”

プレーヤーを初めて起動すると、自ら CMS を探して登録 します。人が登録する必要はありません。

CMS 管理画面の 機器管理 一覧にその機器が表示されれば成功です。

インストール検査を実行する — check-install.ps1

Section titled “インストール検査を実行する — check-install.ps1”

パッケージ一式(C:\treet)には、インストールが正しく行われたかを測るスクリプト が同梱されています。 画面に映像が出るだけではわからない点を確認します。

キオスク PC で PowerShell を開き、1 行ずつ実行します。

インストール 前に — 現在の値を基準として記録します(これがあってはじめて 「設定が保持されたか」 を判断できます):

Terminal window
powershell -ExecutionPolicy Bypass -File C:\treet\check-install.ps1 -Before

インストール 後に — 事後条件を確認します:

Terminal window
powershell -ExecutionPolicy Bypass -File C:\treet\check-install.ps1 -After

-Before を記録していなくても -After は実行できます。ただし 「現在の値はこうだ」 までしかわからず、 何が変わったか はわかりません。

CMS のアドレスを入力する — プレーヤーの画面で(初回 1 回)

Section titled “CMS のアドレスを入力する — プレーヤーの画面で(初回 1 回)”

プレーヤーはインストール直後は 開発用の既定値(127.0.0.1) を持っています。その PC で一度 入力してはじめて CMS を見つけられます。手作業で行うのはこの 1 回だけで、それ以降は CMS から変更します。

キーボードのショートカットキーで操作します — ファイルを開く必要はありません。

キー動作
F8設定画面 を開きます ← ここで CMS のアドレスを入力します
F11画面を一時的に隠します(最小化)
F10全画面のオン・オフ — 選んだ状態を記憶します(再起動後もそのまま)
F9マウスカーソル・タスクバーの表示・非表示(Linux — Raspberry Pi のタスクバーを含む) — 選んだ状態を記憶します
F4プレーヤーの終了
  1. プレーヤーが起動している状態で F8 を押します。
  2. CMS 주소(CMS のアドレス) 欄に、その現場の CMS のアドレスを入力します — 例: http://192.168.0.10:8080
  3. 🔴 MQTT 사이트(MQTT サイト)欄も一緒に入力します — CMS のインストール時に尋ねられた サイト名 とまったく同じに (大文字・小文字まで)。⚠️ 空欄のままだと、画面は表示されるのにリモートコマンドだけが永遠に届きません — ブローカーが トピックの権限で拒否し、エラーは何も表示されません。
  4. MQTT 주소(MQTT アドレス) 欄は、CMS と同じマシンなら CMS のアドレスの ホスト部分 だけを入力します(例: 192.168.0.10)。
  5. 保存すると、プレーヤーがそのアドレスで CMS を探して 自ら登録 します。

Raspberry Pi・Linux に日本語・韓国語フォントがなくても、設定画面・起動画面の韓国語・日本語・中国語が表示されます — プレーヤーがフォントを同梱しています。インターネットから取得しないため、閉域網でも動作します。

正しく反映されたかを確認する方法(飛ばさないでください)

Section titled “正しく反映されたかを確認する方法(飛ばさないでください)”

プレーヤーを再起動した後、その PC の

%APPDATA%\TreeTview\logs\main_<今日の日付>.log

を開き、一番下のほうの [사이트설정] の行を見てください。

表示される行意味
[사이트설정] 확인 — CMS 주소·MQTT·CA 설정에 걸리는 것 없음.✅ 合格
✗ CMS 주소가 아직 개발 기본값입니다 (http://127.0.0.1)❌ path.baseUrl が反映されていません
✗ mqtt.host 가 아직 개발 기본값입니다 (127.0.0.1)❌ mqtt.host に開発用の既定値が残っています。🔵 直し方は値を入れることではなく空にすることです(そうすれば baseUrl に追従します)。閉域網のエッジブローカーを使うときだけアドレスを書きます
✗ mqtt.site 가 기본값 "site" 입니다❌ MQTT 사이트 欄が空です — リモートコマンドが届きません
· 사이트 CA 가 아직 없습니다初回登録の前なら 正常 です(エラーではありません)

🔴 アドレスが間違っているときの症状は「故障」のようには見えません。 画面は全画面で問題なく表示され、 Watchdog が 数分おきにプレーヤーの再起動を繰り返します。 見た目は 「電源は入っているのに内容だけ 表示されない」 状態です。上のログの行が 唯一の正確なシグナル です。

機器証明書は 人が入れるものではありません

Section titled “機器証明書は 人が入れるものではありません”

プレーヤーは CMS に初めて登録するときに、自ら鍵を作成し、証明書の発行を受けて 保存します。 準備やコピーが必要なものはありません — アドレスさえ正しければ、残りは自動で行われます。

人が入れる必要があるかもしれないのは、https の現場のサイト CA 1 つだけです (下記 「アドレスに IP を使う現場」 を参照)。

ほかのプログラムにも CMS のアドレスが必要です

Section titled “ほかのプログラムにも CMS のアドレスが必要です”

プレーヤーを設定しただけでは終わりではありません。一緒にインストールしたプログラムも、それぞれ CMS を参照します。

プログラム編集するファイル編集する項目
WatchdogC:\ProgramData\TreeT\Watchdog\watchdog.jsonappCheck.cmsUrl
SyncServer(使用する現場のみ)C:\Program Files\TreeT\SyncServer\SyncServer.jsoncms.url
MqttEdge(閉域網の現場のみ)インストールフォルダーの conf.d\site.conf中央ブローカーのアドレス

コマンドで直す方法 — ファイルを開かずにアドレスだけを変更できます。 管理者 の PowerShell で 1 行ずつ:

Terminal window
& "C:\Program Files\TreeT\Watchdog\Watchdog.exe" --configure 192.168.0.10
& "C:\Program Files\TreeT\SyncServer\SyncServer.exe" --configure 192.168.0.10
  • アドレスだけを書くと https://192.168.0.10:8443 になります。http の現場では --scheme=http を付けます(http://192.168.0.10:8080)。
  • 先に確認だけしたいときは --dry-run を付けます — 変わる箇所の数だけを表示し、書き込みません。
  • 変更前の元ファイルは同じフォルダーに .bak として残ります。
  • 古い版の Watchdog では、このコマンドが watchdog.json 을 못 찾았습니다(ファイルが見つからない)で止まります — そのときは下のようにメモ帳で直します。
  • コマンドでもメモ帳でも、変更後は 再起動 しないと反映されません(下の表)。 メモ帳で直す方法 — メモ帳を 管理者として 開き、そのファイルのアドレスだけを変更します。

ポートは 2 つの欄に あらかじめ入っています — httpPort(平文の入口、既定 8080)・httpsPort(セキュアな入口、既定 8443)。CMS が別のポートを使う現場だけ変更します。 https で接続する場合(例: https://192.168.0.10:8443)、caFile は 空のままにします — Watchdog が httpPort で CMS からサイト CA を一度受け取って保存し、 その フィンガープリントをログに残します。CMS 設定画面のサイト CA フィンガープリントと一度照合してください。

watchdog.json は [ で始まる リスト で、アドレスは 一番最初の { … } のまとまりの中の appCheck にあります。 その 1 行だけを変更し、ほかの値はそのままにします — 特に signerThumbprints を空にすると自動アップデートが無効になります。 以下は CMS が 192.168.0.10:8080 である現場の ファイル全体 です。

[
{
"autoHide": true,
"updateLock": {
"file": "%APPDATA%\\TreeTview\\update.lock",
"maxHoldMinutes": 10
},
"startupDelayMs": 30000,
"appCheck": {
"cmsUrl": "http://192.168.0.10:8080",
"caFile": "",
"httpPort": 8080,
"httpsPort": 8443,
"tokenFile": "%APPDATA%\\TreeTview\\data\\device-token.json",
"intervalMs": 600000,
"autoApply": true,
"downloadDir": "%APPDATA%\\TreeTview\\data\\update",
"signerThumbprints": [
"1CAE827334F20023B720E10A3460FEA788F2DD8B"
],
"nodeHeartbeatInterval": 60000
}
},
{
"processName": "TreeTview.exe",
"execPath": "%LOCALAPPDATA%\\TreeT\\TreeTview\\TreeTview.exe",
"execArgv": [],
"heartbeatTimeout": 30000,
"scheduledTask": "TreeTview"
},
{
"processName": "SyncServer.exe",
"execPath": "%ProgramFiles%\\TreeT\\SyncServer\\SyncServer.exe",
"execArgv": [],
"program": "SyncServer"
},
{
"processName": "mosquitto.exe",
"execPath": "C:\\ProgramData\\TreeT\\MqttEdge\\vendor\\win64\\mosquitto.exe",
"execArgv": ["-c", "mosquitto.conf"],
"workingDir": "C:\\ProgramData\\TreeT\\MqttEdge",
"program": "MqttEdge",
"logFile": "logs/mosquitto.log"
}
]
  • パスの \\ は JSON の文法なので、2 つのまま にします。
  • mosquitto.exe のまとまりは、MqttEdge がない PC では Watchdog が自動的にスキップします — 削除しなくても構いません。
  • 保存時のエンコードは UTF-8 です。

SyncServer は cms のまとまりの 1 行です(こちらにはもともと /treetweb はありません):

"cms": {
"url": "http://192.168.0.10:8080",

変更後、そのプログラムを 再起動 すると反映されます。

プログラム再起動の方法
Watchdogタスク スケジューラ → Watchdog タスク → 終了 してから 実行(管理者)
SyncServerタスク スケジューラ → SyncServer タスク → 同じ方法。またはログオフしてからログオン
TreeTview(ビューアー)タスク スケジューラ → TreeTview タスク → 終了 してから 実行。監視プログラムが 10 秒以内に自動で再起動することもあります

正しく反映されたかを確認 — Watchdog は起動時に自分のログにアドレスを記録します:

C:\Program Files\TreeT\Watchdog\logs\server_<今日の日付>.log
表示される行意味
업데이트 확인 시작 (10분 주기, CMS http://192.168.0.10:8080)✅ そのアドレスを参照しています(周期の数値は intervalMs によって異なります)
업데이트 확인이 설정돼 있지 않습니다(watchdog.json 의 appCheck.cmsUrl)❌ 項目が空です

CMS で確認するほうが確実です — ログのアドレスが正しくても、パス(/treetweb)が間違っていれば登録されません。 機器管理(기기관리) でその PC の機器を開くと、機器設定 タブの この PC のプログラム に Watchdog・SyncServer が 1〜2 分以内に 表示され、 最終応答が 방금(たった今)〜1분 전(1 分前) であれば完了です(まだ PC に結び付いていなければ、機器管理一覧の上の PC 미확인 프로그램 の行に先に出ます)。表示されない場合は、まずアドレスを見直します。

PowerShell(管理者)で再起動する場合は、1 行ずつ:

Terminal window
Stop-Process -Name Watchdog -Force
Terminal window
Start-ScheduledTask -TaskName Watchdog
Terminal window
Stop-Process -Name SyncServer -Force

SyncServer は Watchdog がすぐに再起動します — そのため、直後にダッシュボードに 「SyncServer.exe 이(가) 죽어 있어 다시 띄웠습니다」(停止していたため再起動しました)が 1 行表示されるのは 正常 です。

インストールすると、その PC にログインしたときに自動で起動するよう 登録されます。別途行う作業はありません。

アドレスに IP を使う現場(HTTPS)

Section titled “アドレスに IP を使う現場(HTTPS)”

CMS のアドレスに ドメイン を使えば公開証明書を使えるため、追加の作業はありません。 一方、IP アドレス で接続する現場ではそのサイト専用の証明書を使うため、キオスクがそれを 信頼するよう 一度 登録する必要があります。

登録は導入時に提供されるツールで行い、現場のご担当者は フィンガープリントの照合 だけを行えば十分です。