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

閉域網へのインストール

インターネットアクセスが遮断されたサイト(軍事施設 / セキュリティ指定施設 / 一部工場など)にゲートウェイをインストールする際に使用する手順です。 標準の ワンラインインストール は product.kopens.io への到達が必要ですが、閉域網ではそれが不可能なため、外部で成果物を入手して USB / NAS に転送した後にインストールする必要があります。

コンテナモード (2026.05+, 推奨)​

install パッケージとコンテナイメージの tar.zst の2つを転送します。install.sh が sibling image/*.tar.zst を検知すると、docker load へ自動的にインポートされます(registry pull をバイパス)。

準備用PC (インターネット接続可能)​

搬出用バンドルは手動で作成せず、airgap-bundle.sh で作成してください。リポジトリファイルとコンテナイメージを一括してまとめるため、バージョンの不整合が発生しません。GitLab では airgap:export 手動ジョブを実行し、artifacts としてダウンロードすることも可能です。

# 1) 저장소 받기
curl -fsSLO https://product.kopens.io/plantpulse-edge/plantpulse-edge-docker.tar.gz
mkdir -p plantpulse-edge-docker
tar xzf plantpulse-edge-docker.tar.gz -C plantpulse-edge-docker --strip-components=1

# 2) 반출 번들 굽기 — 저장소 + 이미지가 함께 들어간다
sudo bash plantpulse-edge-docker/bin/airgap-bundle.sh

# 3) USB / NAS 로 옮김 (파일명 예: plantpulse-edge-images-2026.07.tar.gz)
cp plantpulse-edge-images-*.tar.gz /media/usb/

閉域網ボックス (インターネット接続不可)​

sudo -i
mkdir -p /opt/kopens/plantpulse-edge-docker
tar xzf /media/usb/plantpulse-edge-images-*.tar.gz \
-C /opt/kopens/plantpulse-edge-docker --strip-components=1
cd /opt/kopens/plantpulse-edge-docker/repo/bin
# 필요하면 env.sh 에서 EDGE_ID / SITE_ID 를 박스별로 조정한 뒤 실행
sudo bash airgap-load.sh
# airgap-load.sh: 오프라인 Docker 설치 → 이미지 docker load → install.sh(SKIP_PULL=1)

インストール後、コンテナモードで検証します:

sudo bash /opt/kopens/install/bin/status.sh
sudo bash /opt/kopens/install/bin/health.sh
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool

インストール後のアップグレードもインターネットなしで行います。新しいイメージファイルを搬入し、pe upgrade --bundle (閉域網アップグレード) を実施してください。

閉域網であっても、インストール完了基準は同一です。運用投入前に プロダクション受入基準 に基づき、バックアップファイル、acceptance log、image tag、資格情報の提供状況を記録してください。


よくあるトラブル​

症状原因 / 解決策
tar: Error opening archiveUSB のイメージが一部のみコピーされている。準備用PC で sha256 を比較し、再度コピーしてください
docker load が «no space left»/var/lib/docker の空き容量不足。イメージサイズの2倍以上の空き容量を確保してください
サービスが activating で停止モジュールの1つが遅延しています。journalctl -u plantpulse-edge -f と bin/logs.sh でどのモジュールかを確認してください
時刻が不一致 (1970年)閉域網で NTP にアクセス不可。社内 NTP サーバーの IP を /etc/chrony.conf に追加してください
install.sh が外部 URL を呼び出すオフライン引数が不足しています。上記の閉域網手順のコマンドをそのまま使用してください

症状原因 / 解決策
dnf install がインターネットを探して停止--disablerepo=* オプションの指定漏れ。上記 3.1 のオプションをそのまま適用してください
tar: Error opening archiveUSB の成果物が一部のみコピーされている。準備用PC で sha256 比較後、再コピーしてください
systemctl status plantpulse → activatingbin/start.sh の段階のどこかで停止。journalctl -u plantpulse -f でライブ確認してください
時刻が不一致 (1970年)閉域網で NTP にアクセス不可。社内 NTP サーバーの IP を /etc/chrony.conf に追加してください
install.sh が download URL を呼び出すsed の修正漏れ — install.sh 内のすべての URL を file:///mnt/usb/... に変更してください

関連情報​