クイックインストール — 2026.05+ コンテナ標準
このページは、現場でゲートウェイ1台をインストールする際に使用する標準手順です。
PlantPulse Edge は 2026.05 以降、単一の Docker コンテナイメージとして配布され、
install.sh が OS 依存関係から systemd 登録までを一括で処理します。
インストールが完了すると plantpulse-edge.service がコンテナを管理します。
legacy native サービスである plantpulse.service とは同時に使用しません。
0. 概要
sudo -i
curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh | bash
インストールは image pull を含めて通常 5〜15分 かかります。回線が遅い場合や Docker の初回インストールが必要なボックスでは、さらに時間がかかることがあります。
1. インストール前の1分チェック
# Linux / 권한
uname -a
id
# 외부 다운로드 도달성
curl -I https://product.kopens.io/plantpulse-edge/install.sh
# 디스크 / 메모리
df -h /opt /data1 2>/dev/null || df -h /opt
free -h
| 項目 | 基準 |
|---|---|
| 権限 | root (sudo -i) |
| ネットワーク | product.kopens.io への HTTPS 到達 |
| ディスク | /opt/kopens 3GB以上、/data1 データ用に 100GB以上を推奨 |
| メモリ | 8GB 最小、16GB 以上を推奨 |
| 既存サービス | plantpulse.service / plantpulse-edge.service の同時 active は禁止 |
インストール前の運用チーム承認値は 本番受入基準 に従って整理します。
install.sh が Docker、OS パッケージ、sysctl、firewall、chrony をインストール/整合させます。
社内ポリシーでパッケージインストールが禁止されている場合は、セキュリティチーム/IT に許可を依頼するか、
オフラインインストール に切り替えてください。
2. インストールの実行
推奨: インストール bundle を取得してから実行
sudo -i
curl -fsSLO https://product.kopens.io/plantpulse-edge/plantpulse-edge-docker.tar.gz
mkdir -p /opt/kopens/plantpulse-edge-docker
tar xzf plantpulse-edge-docker.tar.gz -C /opt/kopens/plantpulse-edge-docker --strip-components=1
cd /opt/kopens/plantpulse-edge-docker/bin
bash install.sh
bundle 方式はインストールファイルが残るため、障害解析や再実行が容易です。
バンドルをどこに展開しても、install.sh は status.sh · health.sh · upgrade.sh などの
運用スクリプトを /opt/kopens/install/bin/ にコピーします。
以降のドキュメントで /opt/kopens/install/bin/… として案内しているのはこのためです —
バンドルを展開した場所を覚えておく必要はありません。
代替: ワンライン実行
sudo -i
bash < <(curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh)
3. サイト値/ネットワーク値の指定
デフォルト値でもインストールできますが、現場納品では通常、以下の env を明示します。
sudo -i
cd /opt/kopens/install
EDGE_ID=EDGE_00303 \
SITE_ID=SITE_00001 \
SERVER_HOST=192.168.0.41 \
SERVER_API_KEY='<platform-api-key>' \
LAN1_IFACE=enp1s0 \
LAN1_IP=192.168.100.10/24 \
LAN2_IFACE=enp2s0 \
LAN2_IP=192.168.0.10/24 \
LAN2_GATEWAY=192.168.0.1 \
LAN2_DNS=192.168.0.1 \
bash install.sh
よく使う env:
| 変数 | 意味 |
|---|---|
EDGE_ID | ゲートウェイ ID。例: EDGE_00303 |
SITE_ID | サイト ID。例: SITE_00001 |
SERVER_HOST / SERVER_API_KEY | Platform API 連携情報 |
LAN1_IFACE / LAN1_IP | PLC 網 NIC と static IP |
LAN2_IFACE / LAN2_IP / LAN2_GATEWAY / LAN2_DNS | WAN/外部網 NIC と routing |
ADMIN_PASS / API_KEY / MQTT_PASS / OPCUA_PASS | 運用チームが定めた初期資格情報で override |
CERT_PASS | TLS keystore パスワード。公式の cert password key はこれ1つのみを使用 |
IMAGE_TAG | 特定の container image tag を固定 |
SKIP_PULL=1 | すでに image を local load 済みの閉域網/再実行ケース |
パスワードや API key を shell history に残さないためには、secret-safe インストール env のパターンを使用します。運用チームが指定したパスワードも root 0600 のファイルに格納し、source した後に install.sh を実行してください。
4. インストール中に表示される正常出力
例はバージョンによって多少異なりますが、流れは同じです。
[install] prepare directories ... OK
[install] install packages / docker ... OK
[install] configure sysctl / firewall / chrony ... OK
[install] generate TLS material ... OK
[install] write /etc/kopens/app.properties ... OK
[install] docker pull docker.kopens.io/pe/plantpulse-edge:<tag> ... OK
[install] install systemd unit plantpulse-edge.service ... OK
[install] start service ... OK
[install] health probe /api/v1/system/health ... OK
INSTALL COMPLETED.
初回インストール時、admin/MQTT/OPC-UA/API key はボックスごとに random で生成され、
/etc/kopens/credentials.txt に保存されます。このファイルは chmod 0600 root で管理してください。
5. インストール後の検証
# service 상태
systemctl is-active plantpulse-edge.service
systemctl status plantpulse-edge.service --no-pager
# 설치 도구의 한 줄 점검
sudo bash /opt/kopens/install/bin/status.sh
# version: container_mode=true 여야 함
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
# health: HTTP 200 + components UP
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool
ブラウザ:
| 画面 | URL |
|---|---|
| Web UI | https://<gateway-ip>/ui/main |
| Node-RED | https://<gateway-ip>/ui/flow/ |
| Swagger UI | https://<gateway-ip>/public/swagger-ui/index.html |
初期ログインパスワードは /etc/kopens/credentials.txt の admin 項目を確認します。
インストール直後は インストール直後チェックリスト と 本番受入基準 を続けて実施してください。
受入証跡の保存
現場受入の前には、health 画面のキャプチャよりも再現可能なテキスト証跡のほうが重要です。
sudo bash /opt/kopens/install/bin/health.sh
sudo bash /opt/kopens/install/bin/status.sh > /root/pp-edge-status-$(date +%Y%m%d-%H%M%S).txt
acceptance log 全体は 受入証跡の収集 のコマンドを使用します。
6. よく陥る落とし穴
| 症状 | 原因/対応 |
|---|---|
Could not resolve host: product.kopens.io | DNS または社内ファイアウォール。DNS、proxy、allow-list を確認。解決しない場合は オフラインインストール |
curl: (7) Failed to connect | outbound 443 が遮断、または proxy が必要。HTTPS_PROXY を設定して再試行 |
No space left on device | /opt または /data1 の空き容量不足。df -h を確認して空き容量を確保 |
docker pull に時間がかかる | 初回の image pull は数 GB あります。回線が遅い場合は閉域網手順の image tar.zst 持ち込みも検討 |
plantpulse.service も active | legacy native との競合。新規コンテナ運用では native サービスを停止/無効化 |
| インストール完了後に Web 接続不可 | まずゲートウェイ内部で curl -ks https://127.0.0.1/api/v1/system/health を確認。内部が OK なら外部の firewall/NAT の問題 |
| 証明書の警告 | self-signed 証明書であれば初回接続時のブラウザ警告は正常。運用 CA 証明書の配布ポリシーは現場のセキュリティ基準に従う |
| health が 503 | journalctl -u plantpulse-edge.service -n 100、docker logs plantpulse-edge を確認 |
症状別のより詳しい対処は インストールのトラブルシューティング を参照してください。
7. 次のステップ
- インストール直後チェックリスト — health、初回ログイン、site/edge ID の確認
- 本番受入基準 — 再起動、バックアップ、証跡ファイル、セキュリティロック
- 新しい PLC 接続の追加
- タグの登録
- 運用 — コンテナモード
- バックアップ/リストア