メインコンテンツへスキップ
50% off 全プラン対象、期間限定。月額 $2.48/mo
Node-RED

Node-RED

Node-RED は、ビジュアルなフローベースのプログラミングツールです。IoT・API・ホームオートメーションのパイプラインをドラッグ&ドロップで構築でき、4,000以上のコミュニティノードを利用できます。IBM が開発し、OpenJS Foundation のプロジェクトとして、産業用 IoT における標準的なオートメーションエンジンとなっています。

概要

23.3k

GitHubスター

240

ページビュー

294

アクティブインストール

ライセンス Apache-2.0 バージョン Latest OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

アクティブインストール数はサンプルデータ(プレビュー)です。正式リリース前に実際のデータに切り替わります。

Node-RED へのアクセス

  • ブラウザを開いて次にアクセス: https://<SERVER_IP>
  • ブラウザのSSL警告は想定内です (自己署名証明書)
  • 認証が必要です(Basic Auth ポップアップ)
  • 認証方式:HTTP Basic Auth
  • 認証情報の保存場所: /root/.cloudzy-creds

重要なファイルとディレクトリ

  • メインのインストールディレクトリ: /root/node-red.
  • Docker オーケストレーションファイル: /root/node-red/docker-compose.yml.
  • Node-RED の永続データの保存先: /var/lib/docker/volumes/node-red_node-red-data/_data.
  • Nginx 設定ファイルの場所: /etc/nginx/sites-available/node-red.
  • Basic 認証の資格情報の保存先: /etc/nginx/auth/node-red.htpasswd.
  • TLS 証明書の保存先: /etc/nginx/ssl.

サービス管理

コンテナの状態を確認:

docker ps

ログを表示:

docker compose -f /root/node-red/docker-compose.yml logs -f

Node-RED を再起動する:

docker compose -f /root/node-red/docker-compose.yml restart

Nginx を再起動:

systemctl restart nginx

Node-RED 管理ユーザー(Basic 認証の代替)

Node-RED には独自の認証システムが組み込まれており、HTTP Basic Auth の代わりに使用できます。

1. 位置を特定する settings.js

メインの設定ファイルは、Node-RED の Docker ボリューム内にあります: /var/lib/docker/volumes/node-red_node-red-data/_data/settings.js

2. 有効にする adminAuth

開く settings.js コメントを解除するか、 adminAuth セクションを追加してください。次のような形式になります:

  adminAuth: {
      type: "credentials",
      users: [
          {
              username: "admin",
              password: "<HASHED_PASSWORD>",
              permissions: "*"
      }]
  },

3. パスワードハッシュを生成する

Node-RED コンテナ内からハッシュを生成できます:

docker exec -it node-red-node-red-1 node-red admin hash-pw

プレーンテキストのパスワード入力を求められます。

生成されたハッシュをコピーして、次の値として貼り付けてください: passwordsettings.js.

4. Node-RED を再起動する

編集後 settings.js:

docker compose -f /root/node-red/docker-compose.yml restart

5. Nginx の HTTP Basic 認証を無効にする(任意)

Nginx サイト設定ファイルを編集する: /etc/nginx/sites-available/node-red

以下の行を削除またはコメントアウトする:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/node-red.htpasswd;

Nginx をリロード:

systemctl restart nginx

ドメインでSSLを有効化する

1. ドメインをサーバーIPに向ける。

2. Nginxの設定を編集し、両方を置き換える server_name <IP>; あなたのドメイン (<your-domain>) をHTTP (ポート80) とHTTPS (ポート443) の両方のブロックに設定:

vim /etc/nginx/sites-available/node-red

3. Certbotをインストール:

apt install -y certbot python3-certbot-nginx

4. 次のコマンドを実行して有効なLet's Encrypt証明書を生成:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Nginx設定内のSSLパスを置き換える:

vim /etc/apache2/sites-available/node-red
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Nginxを再起動して変更を反映:

systemctl restart nginx

7. ブラウザを開いて次にアクセス: https://yourdomain.com

開発ツールの他の記事

関連アプリ。

今すぐ Node-RED をデプロイする。 月額2.48ドルから。