メインコンテンツまでスキップ

ワンラインインストール (推奨)

現場でゲートウェイ1台をインストールする標準手順です。エッジは単一のDockerコンテナ イメージとして配布され、install.sh がOS依存関係からsystemd登録までを一括で処理します。

アップグレードも同じ経路です — product.kopens.io で最新の install.sh を取得して 再実行します(冪等)。詳細はアップグレードにあります。

この手順の結果

インストールが完了すると、plantpulse-edge.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-edge.service が既にあれば、インストールはその上に更新されます

インストール前の運用チーム承認値はプロダクション受け入れ基準に合わせて整理します。

Java/Dockerがなくても先にこの手順を試す

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方式はインストールファイルが残るため、障害分析と再実行が容易です。

インストール後の運用スクリプトは固定パスに配置されます

bundleをどこに展開しても、install.sh は status.sh · health.sh · upgrade.sh のような 運用スクリプトを**/opt/kopens/install/bin/** にコピーします。 以降のドキュメントで /opt/kopens/install/bin/… として案内するのはそのためです — bundleを展開した場所を覚えておく必要はありません。

代替: ワンライン実行​

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>' \
NET1_IFACE=enp1s0 \
NET1_IP=192.168.100.10/24 \
NET2_IFACE=enp2s0 \
NET2_IP=192.168.0.10/24 \
NET2_GATEWAY=192.168.0.1 \
NET2_DNS=192.168.0.1 \
bash install.sh

よく使うenv:

変数意味
EDGE_IDゲートウェイID。例: EDGE_00303
SITE_IDサイトID。例: SITE_00001
SERVER_HOST / SERVER_API_KEYプラットフォームAPI連携情報
NET1_IFACE / NET1_IPPLC網NICとstatic IP
NET2_IFACE / NET2_IP / NET2_GATEWAY / NET2_DNSWAN/外部網NICとrouting
ADMIN_PASS / API_KEY / MQTT_PASS / OPCUA_PASS運用チームが定めた初期認証情報でoverride
CERT_PASSTLS keystoreパスワード。公式cert password keyはこれ一つだけ使用
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はボックスごとにランダム生成され、 /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 UIhttps://<gateway-ip>/ui/main
Node-REDhttps://<gateway-ip>/ui/flow/
Swagger UIhttps://<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.ioDNSまたは社内ファイアウォール。DNS、proxy、allow-listを確認。ダメなら閉域網インストール
curl: (7) Failed to connectoutbound 443ブロックまたはproxyが必要。HTTPS_PROXY 設定後に再試行
No space left on device/opt または /data1 の空き不足。df -h 確認後に領域確保
docker pull が長い初回のimage pullは数GBです。回線が遅い場合は閉域網手順のimage tar.zst持ち込みも検討

| インストール完了後に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. 次のステップ​

  1. インストール直後の点検 — health、初回ログイン、site/edge ID確認
  2. プロダクション受け入れ基準 — 再起動、バックアップ、証拠ファイル、セキュリティロック
  3. 新しいPLC接続の追加
  4. タグ登録
  5. コンテナモード運用
  6. バックアップと復元