コンテンツにスキップ

CMS サーバーのインストール

サイトに CMS サーバー を立ち上げる手順です。専門知識がなくても進められるように書いています — インストーラーが準備状況を自ら点検し、必要なものは自動でインストールします。

始める前に — 受け取ったものを 1 か所にまとめます

Section titled “始める前に — 受け取ったものを 1 か所にまとめます”

Windows PC の C:\treet に、受け取ったものを すべて 入れておいてください。フォルダーがなければ作成してください。

受け取るパッケージ一式は次のような構成です — フォルダーごと丸ごと 移してください。

C:\treet\
읽어주세요.md ← 🔴 **最初に読んでください(お読みください)。** この現場の値が書かれています
목록.md ← 一覧: 同梱ファイルと sha256
TreeT_코드서명_공개인증서.cer ← 🔴 キオスクごとに **インストール前に** 登録します
check-install.ps1 ← インストールが正しく行われたかを測るスクリプト
설치파일\ ← インストールファイル: キオスク用(+ Android APK)
CMS\treet-cms-offline-<版>.tar.gz ← CMS のインストールパッケージ
매뉴얼\ ← マニュアル: このドキュメントのオフライン版
키오스크셋팅\ ← キオスク設定: キオスク PC の最適化スクリプト

ここに もう 1 つ入手して 一緒に置いてください — これは弊社からはお渡ししません:

ubuntu-26.04.x-live-server-amd64.iso ← 仮想マシンにインストールする Ubuntu(ubuntu.com から入手します)

初めての方は、この地図を一度見てから始めてください。上から下へ一度通るだけ で完了します。

何をどのくらい誰が行うか
準備受け取ったものを C:\treet にまとめる(すぐ上)5 分人
0仮想マシンを作成して Ubuntu をインストール30〜60 分人
0-e🔴 ディスクを広げる — Ubuntu は半分しか使いません1 分人
1インストールパッケージを VM の中へ5〜10 分人
2sudo bash install.sh を実行1 分人
3準備状況の点検自動インストーラー
43 つ の質問に回答1 分人
5管理者パスワードを書き留める1 分人
6実際に起動するかを確認自動(数分)インストーラー
7バックアップを有効にする — 自動 · 確認だけ1 分インストーラー
7-bこの PC に Watchdog を入れる — CMS の VM が止まったら起動し直します5 分人
8リモート接続の準備必要なとき人
9インターネットのアドレス・証明書 + 管理者用入口20 分人(トークン・ブラウザーでの承認)+ スクリプト

0. 仮想マシンを作成します(Hyper-V)

Section titled “0. 仮想マシンを作成します(Hyper-V)”

CMS は Ubuntu 仮想マシンの中で 動作します。Windows PC の場合は、まずその VM を作成します。

0-a. Hyper-V を有効にして外部スイッチを作成します

Section titled “0-a. Hyper-V を有効にして外部スイッチを作成します”

コントロール パネル → プログラム → Windows の機能の有効化または無効化 で Hyper-V にチェックを入れ、再起動します。

再起動したら、VM より先に外部スイッチ を作成します。キオスクがこの VM に接続するには、VM が この PC の実際の LAN カード に接続されている必要があります。

画面から: Hyper-V マネージャー → 仮想スイッチ マネージャー → 新しい仮想ネットワーク スイッチ → 外部 → 名前 TreeT-External → この PC が実際に使っている LAN カードを選びます。 ⚠️ 画面から作成した場合は、作成後に下記コマンドの ③ DNS の確認・入力 を必ず別途行ってください(固定 IP だと DNS が抜け落ちます)。

コマンドで(管理者 PowerShell) — 抜け落ちた DNS まで一度に処理します:

Terminal window
# ① LAN カード名の確認 — キオスクと同じネットワークに接続されているもの(通常は '이더넷')
Get-NetAdapter -Physical | Format-Table Name, InterfaceDescription, Status, LinkSpeed
# ② 上の一覧の Name を入れます
$Switch = "TreeT-External"
$Nic = "이더넷"
# 作成する前に今の設定を記録しておきます — 固定 IP の場合、スイッチを作成すると DNS だけが消えます
$Static = (Get-NetIPInterface -InterfaceAlias $Nic -AddressFamily IPv4).Dhcp -eq "Disabled"
$Dns = (Get-DnsClientServerAddress -InterfaceAlias $Nic -AddressFamily IPv4).ServerAddresses
"고정 IP: $Static · 지금 DNS: $($Dns -join ', ')"
# スイッチの作成 — すでにあればスキップします(⚠️ 数秒間ネットワークが切れます)
if (-not (Get-VMSwitch -Name $Switch -ErrorAction SilentlyContinue)) {
New-VMSwitch -Name $Switch -NetAdapterName $Nic -AllowManagementOS $true | Out-Null
}
# ③ DNS の確認・入力 — 新しいアダプターの DNS が空なら入力します
# 固定 IP だと DNS が引き継がれず、自動 IP でもすぐに取得できない場合があります。
# そのため固定/自動に関係なく、**空であれば** 入力します。
$vEth = "vEthernet ($Switch)"
for ($i = 0; $i -lt 10 -and -not (Get-DnsClientServerAddress -InterfaceAlias $vEth -AddressFamily IPv4).ServerAddresses; $i++) { Start-Sleep 2 }
if (-not (Get-DnsClientServerAddress -InterfaceAlias $vEth -AddressFamily IPv4).ServerAddresses) {
if (-not $Dns) {
# もともと DNS が空だった場合は、ルーター(ゲートウェイ)とパブリック DNS を入れます
$Gw = (Get-NetIPConfiguration -InterfaceAlias $vEth).IPv4DefaultGateway.NextHop
$Dns = @($Gw, "8.8.8.8") | Where-Object { $_ }
}
Set-DnsClientServerAddress -InterfaceAlias $vEth -ServerAddresses $Dns
Clear-DnsClientCache
}
# ④ 確認 — 両方とも表示される必要があります
Get-VMSwitch $Switch | Format-Table Name, SwitchType, NetAdapterInterfaceDescription
Get-DnsClientServerAddress -InterfaceAlias $vEth -AddressFamily IPv4 | Format-Table InterfaceAlias, ServerAddresses
Resolve-DnsName ubuntu.com -Type A | Select-Object -First 1 Name, IPAddress

Hyper-V マネージャー → 新規 → 仮想マシン。

項目値なぜこの値なのか
世代第 2 世代UEFI ブート。Ubuntu 26.04 は第 2 世代が基本です
メモリ6 GB(動的メモリは オフ)実測ではアイドル時 214 MB ですが、インストール・DB インポートや動画変換に余裕が必要です
プロセッサ4 コア動画変換が CPU を使います — ここに投資するのが最も体感できます
ハードディスク120 GB・容量可変プログラムは小さい(約 200 MB)ものの、メディアや画像がたまっていきます。容量可変なので、最初から 120 GB を消費するわけではありません
ネットワークTreeT-External(0-a で作成した外部スイッチ)キオスクがこの VM に接続する必要があります
セキュア ブート テンプレートMicrosoft UEFI 証明機関既定値(Windows)のままだと Ubuntu が起動しません

0-c. インストールイメージを接続して起動します

Section titled “0-c. インストールイメージを接続して起動します”

🔵 上のコマンドで作成した場合は、すでに接続されていて起動しています — 0-d に進んでください。

ウィザードで作成した場合: ダウンロードしておいた ubuntu-26.04.x-live-server-amd64.iso を、VM 設定の SCSI コントローラー → DVD ドライブ に接続して起動します。

0-d. Ubuntu をインストールします

Section titled “0-d. Ubuntu をインストールします”

既定値のまま進めても構いませんが、2 か所だけ 注意します — 固定 IP(+DNS) と OpenSSH。

① ネットワーク — VM に固定 IP を割り当てます

キオスクは このアドレスで CMS に接続し、CMS のインストール時に証明書にもこのアドレスが入ります。変わるとキオスクの接続が切れるため、 固定 IP にします。

まずアドレスを決めます — ホスト PC と同じ帯域 の中で 使われていないアドレス、かつルーターが自動で割り当てる範囲(DHCP)の 外 である必要があります。ホストで ipconfig を実行して、帯域とルーター(デフォルト ゲートウェイ)を確認してください。

例値
ホスト PC192.168.0.4
ルーター(ゲートウェイ)192.168.0.1
この VM に割り当てるアドレス192.168.0.10(現場に合わせて)

インストール画面で — Network configuration → eth0 → Edit IPv4 → Manual:

欄値
Subnet192.168.0.0/24
Address192.168.0.10
Gateway192.168.0.1
Name servers192.168.0.1, 8.8.8.8
Search domains空欄のままにします

インストールをすでに終えている場合 — VM の中で設定します。まず LAN カード名(通常は eth0)を確認してください。

Terminal window
ip -br link
Terminal window
sudo tee /etc/netplan/60-treet-static.yaml > /dev/null <<'EOF'
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.0.10/24]
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [192.168.0.1, 8.8.8.8]
EOF
sudo chmod 600 /etc/netplan/60-treet-static.yaml
sudo netplan try

🔵 netplan try は、適用後 120 秒以内に Enter を押さないと元に戻します — 誤って入力して接続が切れても安全です。 Enter を押した後に確認します:

Terminal window
ip -4 addr show eth0 | grep inet
resolvectl query ubuntu.com

② Install OpenSSH server にチェックを入れてください

VM の画面で直接タイプするより、別の PC から接続して作業するほうがはるかに楽です。 インストールパッケージを移すときにも使います。

インストールが終わったら再起動し、ログインして以下のコマンドで 決めた固定 IP が割り当てられているか を確認します。

Terminal window
ip -4 addr show | grep inet

0-e. 🔴 インストール直後に必ず — ディスクを広げる

Section titled “0-e. 🔴 インストール直後に必ず — ディスクを広げる”

Ubuntu のインストーラーはディスクを半分しか使いません。 120 GB を割り当てても、実際に使われる領域は約 58 GB です。

Terminal window
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
df -h /

df -h / が 100 GB 以上を表示すれば完了です。

ここまで完了したら、下の 1 番に進みます。

1. インストールパッケージを VM の中に移します

Section titled “1. インストールパッケージを VM の中に移します”

パッケージ一式の CMS\treet-cms-offline-<版>.tar.gz ファイル 1 つ を VM の中に移し、 そこで展開します。VM の中で置く場所は 固定されたローカルパス です。例: /home/ユーザー/

移したら、VM の中で展開します。

Terminal window
cd ~
tar xzf treet-cms-offline-*.tar.gz
cd treet-cms-offline

フォルダーの中で、以下を実行します。

Terminal window
sudo bash install.sh

sudo で実行するのは、準備ができていない項目(例: Docker)をインストーラーが 自動でインストール する ためです。

3. インストーラーがまず点検します(読み流してください)

Section titled “3. インストーラーがまず点検します(読み流してください)”

🔵 ここでしていただくことはありません。 インストーラーが自動で確認します — 以下は 何を確認するか を お知らせするもので、つまずいたときに戻って探せるよう記載しています。

足りないものがあれば、何をどうすればよいか を画面に表示します。

点検項目問題がある場合
オペレーティングシステムUbuntu 26.04 LTS でなければ知らせます(処理は続行されます)
名前解決(DNS)できない場合は 原因まで 知らせます — 下記を参照
インターネット接続閉域網なら正常です(Docker がすでに入っている必要があります)
Dockerなければ 自動でインストールします
時計時刻が大きくずれていれば知らせます
ディスク・メモリ不足していれば止めます
ポートすでに使っているプログラムがあれば止めます
ファイル権限守られない場所であれば知らせます(処理は続行されます)— 下記を参照

点検を通過すると、以下の 3 つだけを尋ねます。残りは自動で設定されます。

① このサイトの名前

1) 이 사이트의 이름 (영문 소문자·숫자·하이픈).
추천: kjr7zbs ← 지금 사용 가능한 이름입니다
>

推奨された名前をそのまま使っても構いません(Enter)。この名前は、機器とやり取りする信号を区別するために 使われます。

② この CMS に接続するアドレス

2) 이 CMS 에 접속할 주소입니다 — 재생기가 이 주소로 붙습니다.
여러 개면 쉼표로 나열하세요. [192.168.0.5]
>

角かっこの中は、この PC のアドレスを自動で検出した値 です。正しければ Enter を押すだけです。

③ 外側のネットワークから入ってくるアドレス

3) 바깥 망에서 이 CMS 로 들어오는 주소가 있으면 적으세요 — 공유기 포워딩 주소(여러 개면 쉼표).
이름으로 붙는 것이 먼저입니다. 이름이 안 풀리는 망(폐쇄망 · 이중 NAT 바깥)에서 쓰는 IP 만 적으세요. 없으면 엔터.
>

(外側のネットワークからこの CMS に入ってくるアドレス — ルーターの転送アドレスがあれば入力します。複数ある場合はカンマで区切ります。名前で接続するのが優先で、名前が引けないネットワークで使う IP だけを入力します。なければ Enter。)

ほとんどの場合は Enter(空のまま)です。ルーターを 2 段経由する構成のように、外側のネットワークの機器や中継装置が ルーターの転送アドレス(IP) でこの CMS に接続する必要があるときだけ、そのアドレスを入力します。入力したアドレスは CMS の証明書に入ります。 インストール後に変更が必要な場合は、再インストールせずに管理画面から変更します — 担当者にお問い合わせください。

5. 管理者パスワードを書き留めます

Section titled “5. 管理者パスワードを書き留めます”

インストールが終わると、管理者の初期パスワード が一度表示されます。

6. インストーラーが自ら確認します(読み流してください)

Section titled “6. インストーラーが自ら確認します(読み流してください)”

🔵 最後に 点検の一画面 が出ます — この機械に合わせた 4 つ(タイムゾーンをサイトの時刻に · Docker を起動時に自動で · Hyper-V なら KVP デーモン · バックアップの予約)の結果と、CMS の状態アドレス · 次の予約時刻 · この機械のアドレスです。⚠️ の付いた行は、その行が示すコマンドをそのまま実行してください(できなくてもインストールは成功です)。

最後に、インストーラーが 実際に画面が表示されるか を確認します。コンテナが起動していても画面が 表示されない場合があるため、「コマンドが終わった」ではなく「実際に応答する」ことを確認します。

설치 검증 (실제로 응답하는지 — 최초 설치는 DB 초기화로 몇 분 걸립니다)...
✓ 컨테이너 web 동작
✓ 컨테이너 laravel 동작
✓ 컨테이너 db 동작
✓ 컨테이너 guacd 동작 (원격제어)
✓ 컨테이너 guacamole 동작 (원격제어)
✓ CMS 응답 확인 (HTTP 200)

ここまで表示されれば、ブラウザーで http://<このPCのアドレス>:8080 に接続できます。

7. バックアップを有効にします(必ず行ってください)

Section titled “7. バックアップを有効にします(必ず行ってください)”

🔵 インストーラーがこれを自分で行います — 毎日 03:40(サイトの時刻)· 14 日保管 · インストールフォルダーの backup/。以下は 有効か確認 するとき、または保存場所を変えるときに使います(もう一度入れても構いません)。

Terminal window
sudo bash docker/install-backup-timer.sh

毎日明け方に 設定・証明書・データベース をひとまとめにバックアップし、14 日間保存します。

一度は手動で実行して、実際にファイルが作成されるかを確認してください。

Terminal window
sudo systemctl start treetweb-backup-site.service
ls -la backup/

7-b. この PC に Watchdog を入れます — CMS が止まったら起動し直します

Section titled “7-b. この PC に Watchdog を入れます — CMS が止まったら起動し直します”

CMS はこの PC の 仮想マシンの中 で動いています。その VM が止まると現場の画面管理がまるごと途切れますが、 VM は自分ではそれを知らせられません。そこで 外側(この Windows PC)から Watchdog が見守ります。

  1. 再生 PC と 同じ方法 で Watchdog を入れます — 現場への導入 の Watchdog のインストールを参照してください。 インストール中に CMS のアドレスを聞かれたら、この VM のアドレス(例: http://192.168.0.5:8080)を入れます。

  2. ほかにすることはありません。 Watchdog は起動すると、CMS のアドレスと 同じ IP の VM を自分で見つけて見守りに加えます。

  3. ⚠️ ただし VM の中で Hyper-V 連携ツールが動いている必要があります — そうでないと Watchdog は VM の IP を見られません(インストーラーが自動で入れます — インターネットが必要です)。この Windows PC(管理者 PowerShell)で確認します:

    Terminal window
    Get-VMNetworkAdapter -VMName treet-cms | Select-Object -ExpandProperty IPAddresses

    VM のアドレス(例: 192.168.0.5)が出ず 空 なら、VM の中で連携ツールを入れて起動します(インターネットが必要です):

    Terminal window
    sudo apt install -y linux-cloud-tools-$(uname -r)
    sudo udevadm trigger --subsystem-match=misc --action=add
    sudo systemctl restart hv-kvp-daemon

    上のコマンドでアドレスが見えれば完了です。10 分以内に CMS のログに 「この PC の Hyper-V VM ‘treet-cms’ を CMS と認識して見守りに加えました」 が残ります。

    🔵 Watchdog はこの状態を自分で知らせます — VM が動いているのに IP が見えないと、CMS のログの見守りの行に 「… IP が Hyper-V から見えません: VM の中で hv-kvp-daemon … が動いている必要があり …」 が残ります。その行を見たら上の 3 行を実行してください。

🔵 すでに Watchdog が入っている PC なら入れ直しません — 再生器と CMS が 1 台の PC にある現場がそうです。その Watchdog が CMS も一緒に見守ります。

動かしておくとこうなります:

こうなったらWatchdog は
VM が 止まった・一時停止した起動し直します(3 分ごとに確認)
CMS が 3 分以上応答しないCMS のログに残し、復旧すると 「何時〜何時(N 分)応答がなかった」 を 1 行残します
VM は動いているが CMS だけ 応答しない報告だけします — VM の中のプログラムには Watchdog は触れられません

8. リモートで接続する方法(2 つは別の話です)

Section titled “8. リモートで接続する方法(2 つは別の話です)”

よく混同される箇所なので、分けて記載します。

8-a. この CMS PC に 接続するには — SSH です

Section titled “8-a. この CMS PC に 接続するには — SSH です”

インストーラーはインストールしません。Ubuntu をインストールするときに Install OpenSSH server にチェックを入れた ことがその役割を果たします(0-d を参照)。

行っていない場合は、今インストールすれば大丈夫です。

Terminal window
sudo apt install -y openssh-server
systemctl status ssh

接続できない場合は、以下を順に確認します。

確認コマンド・場所
SSH が動いているかsystemctl status ssh
この PC のアドレスip -4 addr show | grep inet
🔴 VM が 外部スイッチ に接続されているかHyper-V マネージャー → VM 設定 → ネットワーク アダプター。内部/プライベートだと外から接続できません
ファイアウォールsudo ufw status(既定では無効です)

8-b. 機器の画面を見るには — リモート制御機能です

Section titled “8-b. 機器の画面を見るには — リモート制御機能です”

CMS 管理画面から、キオスクの画面をブラウザーでのぞき見る機能です。 インストール直後から有効になっています — 別途行うことはありません。

🔴 機器ごとに UltraVNC をインストールする必要があります

Section titled “🔴 機器ごとに UltraVNC をインストールする必要があります”

CMS 側は準備ができていますが、表示する画面を送り出す側 は機器にあります。 キオスク PC ごとに VNC サーバー(UltraVNC) をインストール・実行しておいてください。

機器側値
VNC サーバーUltraVNC(インストール後に自動起動するように)
ポート5900(既定値のまま)
パスワード決めなくて構いません — ボタンを押すたびに、その PC の Watchdog が使い捨てのパスワードを設定します(CMS 2026.9.725・Watchdog 2026.9.153 から)

CMS 側はほとんどの場合 空欄のままで構いません(機器が報告した IP・5900)。アドレスやポートが異なる場合だけ、 管理画面の 機器管理 → 機器ページ → 基本情報を編集 → 「リモート接続」 欄に アドレス[:ポート] を入力します — パスワードは書きません。

9. インターネットのアドレスと証明書 — 2 つの入口を一緒に立ち上げます

Section titled “9. インターネットのアドレスと証明書 — 2 つの入口を一緒に立ち上げます”

サイトには 入口が 2 つ あります。基本構成は 両方 です。

アドレス誰が使うかどのように入ってくるか
https://<サイト>.treetsites.com:8443機器・大きな動画のアップロード・普段の管理ルーター → CMS へ直接(公開証明書)
https://admin-<サイト>.treetsites.com管理者のみ — ルーターのポートがふさがれたときの非常用入口Cloudflare トンネル

VM で:

Terminal window
sudo ./cert-check.sh # 公開証明書かどうか・期限切れまであと何日か
sudo ./install-tunnel.sh --check # トンネルサービス・外部からの応答

そして Windows のブラウザーで 2 つのアドレスを直接開きます — どちらも 鍵のアイコン が表示される必要があり、 警告画面が表示されてはいけません。🔵 サイトの 内側 のネットワークで 1 つ目のアドレスが開かない場合は、 ルーターが自身のグローバル IP に戻ってくる接続(ヘアピン)をブロックしているケースです — スマートフォンのモバイルデータで 確認するか、管理者用入口を使ってください。

時刻サーバー — CMS が機器に時刻を配ります

Section titled “時刻サーバー — CMS が機器に時刻を配ります”

CMS をインストールすると 時刻サーバー(NTP) も一緒に起動します。止めるスイッチはありません — 機器が時刻同期をオンにした瞬間に受け取れなければならないからです。 同じ内部ネットワークの機器が UDP 123 番でこの CMS から時刻を受け取ります。インターネットの時刻サーバーに届かない閉域網でも、機器どうしはこの CMS の時計に揃います。

すること理由
CMS VM のファイアウォールをオンにしたなら 内部ネットワークから入ってくる UDP 123 を開けますふさがれると機器が時刻を受け取れません
ルーターで 外へは開けません公開された時刻サーバーは攻撃に悪用されます
CMS VM に別の時刻サーバープログラム(chrony · ntpd)を 入れません123 番を取り合って CMS の時刻サーバーが起動できません — その場合はインストール前の点検が 止めて知らせます。Ubuntu 標準の時刻合わせ(timesyncd)は問題ありません

CMS 自身の時計は VM が合わせます(Hyper-V 統合サービスの時刻同期 · Ubuntu 標準の時刻合わせ)。

ここまで進んだら、以下がすべて完了している必要があります。1 つでもできていなければ、その番号に戻ってください。

確認方法できていなければ
管理画面が開くブラウザーで http://<このPCのアドレス>:80806 番
管理者としてログインできる5 番で書き留めたパスワードで5 番
バックアップが有効になっているsystemctl list-timers | grep treetweb7 番
バックアップファイルが実際に作成されるls -la backup/7 番
サイトのアドレスが警告なしで開くhttps://<サイト>.treetsites.com:84439 番
管理者用入口が開くhttps://admin-<サイト>.treetsites.com9-d

インストールは CMS を立ち上げるところ までです。画面にコンテンツを表示するには、さらに 3 つのことが必要です。

  1. プレーヤー(TreeTview)をキオスク PC にインストール し、その PC で F8 を押してこの CMS のアドレスを 入力します。 🔴 インストールしただけでは接続されません — プレーヤーは開発用の既定値(127.0.0.1)を持った状態で 起動します。アドレスを入力すると、そのとき 自ら登録 され、機器一覧に表示されます(機器証明書も 自動で発行されます)。→ 現場への導入 ⚠️ 入力した後、プレーヤーのログの [사이트설정] 확인 の行 を目で確認してください。一覧に表示されるだけでは 不十分です — この確認を飛ばすと、後で原因を突き止められません。
  2. コンテンツをアップロードして編成 します — どの画面に何をいつ流すかを決めます。
  3. 機器ごとに UltraVNC をインストールします — リモート制御は CMS 側がすでに有効になっており、 表示する画面を送り出す側 だけが機器にあれば大丈夫です(8-b)。

使い方は 管理画面のドキュメント にあります — 機器の登録・編成・リモート制御が画面の順番どおりに 記載されています。

運用に移るとき — 更新チャネルを stable に

Section titled “運用に移るとき — 更新チャネルを stable に”

インストールしたばかりの CMS は まだ運用前(開発段階) とみなします。このときは 開発版(試験中のアプリ・CMS の版)も受け取ります。 機器をすべてつなぎ編成まで終えて すべての設定が終わったら 運用に移ります — それからは 試験を終えて正式に出した版(stable)だけ を受け取ります。

  1. インストールフォルダーの .env を開きます: sudo nano .env
  2. #TREET_UPDATE_CHANNEL=stable 行の 先頭の # を消します。 その行がなければ末尾に TREET_UPDATE_CHANNEL=stable を書き足します。
  3. 保存して CMS を上げ直します: sudo docker compose up -d
TREET_UPDATE_CHANNELこの CMS は
(空 — 既定)運用前。 開発版も受け取ります
stable運用中。 昇格した(stable)版だけを受け取ります — アプリ更新一覧・CMS 更新パッケージ・手動アップロードのインストーラーすべて

CMS を新しい版にアップデートするとき

Section titled “CMS を新しい版にアップデートするとき”

初回のインストールと 同じ方法 です — 新しいパッケージ一式を受け取り、その中で install.sh を再度実行します。 別途アップデートの手順があるわけではありません。

Terminal window
# VM の中で、新しいパッケージ一式を展開したフォルダーで
sudo bash install.sh

何が変わったか は、パッケージ一式の 읽어주세요.md と版番号で確認します。アップデートした後は、 上の 「すべて完了したかを確認する」 の 4 項目を再度確認します — 特に 管理画面が開くかどうか。

再インストールが必要なとき(復旧)

Section titled “再インストールが必要なとき(復旧)”

同じサイトを 立ち上げ直す 場合は、まずバックアップファイルが必要です。

Terminal window
bash docker/restore-site.sh <バックアップファイル> # 設定・証明書を元の場所に
sudo bash install.sh # インストール
bash docker/restore-site.sh <バックアップファイル> --db-only # データを入れる
Terminal window
docker compose logs --tail 50 web laravel # 最近のログ(予約作業まで見るなら laravel-scheduler media-worker を足します)
docker compose ps # 何が起動しているか
sudo bash docker/preflight.sh # 準備状況を再点検