3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Node-REDAdvent Calendar 2024

Day 20

インターネットにつながらない環境にNode-REDを構築するメモ

Last updated at Posted at 2024-12-19

はじめに

インターネットにつながらない(インターネットから隔離された)環境にNode-REDを構築するメモです。

構成

インターネットにつながった(インターネットへ接続された)環境(Ubuntu)にNode-REDが動作する環境を構築します。
次にインターネットにつながらない(インターネットから隔離された)環境(CentOS 7.9)にファイル(Docker packageやimage)を持ち込んで構築します。

スクリーンショット 2024-12-17 22.45.45.png

準備

Ubuntu 環境

Docker Engineをインストールします。

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Node-REDの設定ファイルを保存するディレクトリを作成します。

mkdir .node-red
chmod 777 .node-red

Node-REDをインストールします。
展開したNode-REDの設定ファイルを参照可能とするため、ホストのパス(/home/ユーザー名/.node-red)をコンテナのパス(/data)にマウントします。

sudo docker run -d -v /home/ユーザー名/.node-red:/data -p 1880:1880 --name node-red nodered/node-red:latest

持ち込むイメージファイルの作成

Node-REDの設定ファイルを保存するディレクトリをファイル保存します。

tar cvf node-red.tar .node-red
zip node-red.tar

Node-REDのdockerイメージをファイル保存します。

docker save -o node-red_docker_image.tar nodered/node-red:latest
zip node-red_docker_image.tar

Docker Engine(Linux用)のパッケージファイル

以下のパッケージファイルをダウンロードします。

  • containerd.io-1.6.33-3.1.el7.x86_64.rpm
  • docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm
  • docker-ce-26.1.4-1.el7.x86_64.rpm
  • docker-ce-cli-26.1.4-1.el7.x86_64.rpm
  • docker-ce-rootless-extras-26.1.4-1.el7.x86_64.rpm
  • docker-compose-plugin-2.27.1-1.el7.x86_64.rpm

CentOS 7.9 環境

Ubuntu環境からCentOS環境へファイルをすべて転送します。

Docker環境の構築

Docker Engineをインストールします。

sudo yum install ./containerd.io-1.6.33-3.1.el7.x86_64.rpm ./docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm ./docker-ce-26.1.4-1.el7.x86_64.rpm ./docker-ce-cli-26.1.4-1.el7.x86_64.rpm ./docker-ce-rootless-extras-26.1.4-1.el7.x86_64.rpm ./docker-compose-plugin-2.27.1-1.el7.x86_64.rpm

dockerのイメージデータを保存するディレクトリを変更する場合など、/etc/docker/daemon.jsonファイルを作成します。

daemon.json
{
  "data-root": "/mnt/docker-data",
  "log-drive": "json-file",
  "log-opts": {
    "max-size": "1g",
    "max-file": "5"
  }
}

dockerを起動します。

sudo systemctl start docker

Node-RED

Node-REDの設定ファイルを展開します。

tar xvzf node-red.tar.gz

Node-REDのdockerイメージをロードします。

sudo docker load < node-red_docker_image.tar.gz

Node-REDを起動します。

sudo docker run -d -v /home/ユーザー名/.node-red:/data -p 1880:1880 --name node-red nodered/node-red:latest

Node-REDの動作確認

ブラウザからNode-REDにアクセスしてフロー作成画面が表示されることを確認します。

スクリーンショット 2024-12-17 23.26.53.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?