Armadilloフォーラム

Node-REDのGit連携

hiroki.nakatani

2025年4月15日 15時05分

==========
製品型番:Armadillo-IoT A6E
Debian/ABOSバージョン:3.21.3-at.1
カーネルバージョン:2020.4-at.25
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
Node-REDのGit連携をしたいです。
/var/app/rollback/volumes/node-red/root/.node-red/settings.js
を以下の通り修正後、node-redコンテナを再起動したのですが、プロジェクト作成画面が表示されませんでした。
原因と対処について教えていただけないでしょうか。

**修正内容**
editorTheme: {
projects: {
enabled: true  ※falseから変更
}
}

コメント

at_reika.yamazaki

2025年4月15日 17時03分

お世話になっております。山崎です。

プロジェクト作成画面が表示されなかった件ですが、こちらは git が必要になります。
Node-RED コンテナに git をインストールしてイメージを更新してください。
ご使用のイメージのバージョンが 1.2.1 の場合は以下のコマンドを実行すると利用できると思います。
異なる場合は読み替えてください。

podman_start node-red
podman exec -it node-red apt install git
podman commit node-red localhost/node-red:1.2.1
podman_start node-red

以上、お試しいただけますと幸いです。
どうぞよろしくお願いいたします。

hiroki.nakatani

2025年4月15日 22時38分

ご回答ありがとうございます。
頂いた内容で試してみます。
また、追加で教えていただきたいのですが、永続化の為の追加設定などは必要でしょうか。

アットマークテクノの古賀です。

hiroki.nakataniさん:
>また、追加で教えていただきたいのですが、永続化の為の追加設定などは必要でしょうか。

はい。コンテナ内でのインストールですから、インストールによるコンテナのルートファイルシステムの変更を、コンテナイメージに書き込むことで永続化しないといけません。

これについては、他の質問スレッドの、こちらの回答をご覧ください:
 https://armadillo.atmark-techno.com/forum/armadillo/25060#comment-19522

hiroki.nakatani

2025年4月16日 14時06分

古賀様

ご回答ありがとうございます。
いただいたスレッドを確認していたのですが、よくわかりませんでした。
お手数ですが具体的な手順を教えていただけないでしょうか。

また、いただいたコマンドを順次実行していたのですが、★部分のコマンドで容量不足?のようなエラーが発生しました。
お手数ですがこちらも原因と対処を教えていただけないでしょうか。

podman_start node-red
podman exec -it node-red apt install git
podman commit node-red localhost/node-red:1.2.1 ★
podman_start node-red

■エラー内容
Error: copying layers and metadata for container "8e22fea1a9e2e78f3485c4d08e349bfe98118981a864fd1d861b6fc358cba103": writing blob: adding layer with blob "sha256:1d2dd8dd550b6f0a33bde1fbc5f6272a1d5c138a6a12721c98774d16a309c6c4"/""/"sha256:1d2dd8dd550b6f0a33bde1fbc5f6272a1d5c138a6a12721c98774d16a309c6c4": unpacking failed (error: exit status 1; output: write /usr/lib/arm-linux-gnueabihf/perl/5.36.0/auto/Encode/JP/JP.so: no space left on device)

at_reika.yamazaki

2025年4月16日 15時10分

お世話になっております。山崎です。

以下のコマンドを実行後、再度 podman commit の行を実行してみてもらえますか?
こちらは開発のためにストレージを切り替えるコマンドになります。

abos-ctrl podman-storage --disk

コマンドの詳細はマニュアルの以下になります。

■ 6.9.2.16. イメージを eMMC に保存する
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

以上、どうぞよろしくお願いいたします。

hiroki.nakatani

2025年4月16日 15時38分

山崎様

> 以下のコマンドを実行後、再度 podman commit の行を実行してみてもらえますか?
→承知しました。先ほど実行してみましたが、別のエラーが発生してしまいました。

armadillo:~# abos-ctrl podman-storage --disk
This command cannot continue with containers running.
Stop running containers? Unsaved data will be lost! [y/N]
y
8e22fea1a9e2e78f3485c4d08e349bfe98118981a864fd1d861b6fc358cba103
Containers stopped successfully.
Creating configuration for persistent container storage
Create snapshot of '/var/lib/containers/storage_readonly' in '/mnt/containers_storage'
Successfully switched podman-storage to disk
armadillo:~# abos-ctrl podman-storage --disk
Delete subvolume 318 (no-commit): '/mnt/containers_storage'
Creating configuration for persistent container storage
Create snapshot of '/var/lib/containers/storage_readonly' in '/mnt/containers_storage'
Successfully switched podman-storage to disk
armadillo:~# podman commit node-red localhost/node-red:1.2.1
Error: no container with name or ID "node-red" found: no such container
armadillo:~#

hiroki.nakatani

2025年4月16日 16時01分

山崎様

再度以下の流れでコマンド実行することで対応できました。

abos-ctrl podman-storage --disk
podman_start node-red
podman exec -it node-red apt install git
podman commit node-red localhost/node-red:1.2.1
podman_start node-red

その後ですが、にてeMMCに切り替えたかと思いますが、事後作業で何か必要でしょうか。
abos-ctrl podman-storage --disk

at_reika.yamazaki

2025年4月16日 16時15分

お世話になっております。山崎です。

コマンド実行ありがとうございます。
コンテナの再起動まで行っていただいたと思うのですが、プロジェクト作成画面は表示されたでしょうか?

また、今回実行した「abos-ctrl podman-storage --disk」のコマンドは開発時にのみ使用するコマンドです。
運用時には「abos-ctrl podman-storage --tmpfs」を実行してストレージを tmpfs に戻してください。

以上、どうぞよろしくお願いいたします。

hiroki.nakatani

2025年4月16日 18時16分

お世話になっております。
ご回答ありがとうございます。

> コンテナの再起動まで行っていただいたと思うのですが、プロジェクト作成画面は表示されたでしょうか?
→はい表示できました。
 これからプロジェクト作成し、Git連携を試してみます。
 その後、再度量産機へ展開するイメージを作成します。

> また、今回実行した「abos-ctrl podman-storage --disk」のコマンドは開発時にのみ使用するコマンドです。
> 運用時には「abos-ctrl podman-storage --tmpfs」を実行してストレージを tmpfs に戻してください。
→承知しました。
 abos-ctrl podman-storage --tmpfsも実行できました。

hiroki.nakatani

2025年4月16日 18時18分

度々すみません。以下のコマンドで実行済みですが、選択肢としては
y→Cの流れでよかったでしょうか。

armadillo:/var/app/rollback/volumes/node-red/root# abos-ctrl podman-storage --tmpfs
This command cannot continue with containers running.
Stop running containers? Unsaved data will be lost! [y/N]
y
0d154f8ee7021924e70462641c6257fc222905d1a75fdcd8bb36dd913c786f34
Containers stopped successfully.
List of images configured on development storage:
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/node-red 1.2.1 31f4b46b41b4 2 hours ago 776 MB

What should we do? ([C]opy (default), [N]othing, [D]elete)
C
Removing leftover stopped containers...
0d154f8ee7021924e70462641c6257fc222905d1a75fdcd8bb36dd913c786f34
Delete subvolume 314 (no-commit): '/mnt/containers_storage'
Replacing development images to readonly storage succeeded
Switching back to tmpfs container storage.
Successfully reverted podman storage to tmpfs
armadillo:/var/app/rollback/volumes/node-red/root# podman_start node-red
Starting 'node-red'
41c57205a1962415d4b8cb21bb85a22eafbb9e6599f18b3077cea99bc864bb11
armadillo:/var/app/rollback/volumes/node-red/root# exit

at_reika.yamazaki

2025年4月16日 18時33分

お世話になっております。山崎です。

>→はい表示できました。
無事にプロジェクト作成画面が表示されたということで良かったです。

→abos-ctrl podman-storage --tmpfsも実行できました。
こちらもすでに実行したということで了解です。

>度々すみません。以下のコマンドで実行済みですが、選択肢としては
>y→Cの流れでよかったでしょうか。
はい。操作としては問題ないと思います。
現状のコンテナを保持したまま、ストレージを tmpfs に切り替えたという動作になります。
もしまたコンテナイメージへの commit が必要の場合は disk への切り替えが必要だと思うので、その点はお気を付けください。

以上、どうぞよろしくお願いいたします。

at_reika.yamazaki

2025年4月17日 17時44分

お世話になっております。山崎です。

すみません。本件について追加で質問です。
今回 git をインストールしたと思いますが、こちらは開発用の A6E にインストールして、ずっとご使用になる想定でしょうか?

これまでいただいたフォーラムの内容から自動アップデートが有効になっていると思うのですが、git パッケージは一時的にイメージに入れたため、アップデート後も利用したい場合はアップデート後のイメージに対して再度のインストール、もしくはこのまま使うように自動アップデートの一時停止など、何か対応が必要になると思います。
そのため、まずはどのように利用したいのか、追加でヒアリングしたいと思いご連絡しました。

以上、どうぞよろしくお願いいたします。

hiroki.nakatani

2025年4月17日 18時40分

お世話になっております。中谷です。

> 今回 git をインストールしたと思いますが、こちらは開発用の A6E にインストールして、ずっとご使用になる想定でしょうか?
>
> これまでいただいたフォーラムの内容から自動アップデートが有効になっていると思うのですが、git パッケージは一時的にイメージに入れたため、アップデート後も利用したい場合はアップデート後のイメージに対して再度のインストール、もしくはこのまま使うように自動アップデートの一時停止など、何か対応が必要になると思います。
> そのため、まずはどのように利用したいのか、追加でヒアリングしたいと思いご連絡しました。
→定期アップデートで消えてしまうんですね。
 長期的に利用予定です。以下のイメージを想定しております。

 ■開発機×2台
 ・Node-REDで開発したソースをGithub(AzureDevOps)にプッシュし管理
 ・SSHやNode-REDでのBASIC認証は可能な状態とする

 ■量産機×2台+α (長期ランニングテストにて有用と判断された場合、今後が増加する見込み)
 ・開発機でNode-REDがアップデートされた際、Github(AzureDevOps)からプルし、反映予定
 ・SSHやNode-REDでのBASIC認証は可能な状態とする

>もしくはこのまま使うように自動アップデートの一時停止など、何か対応が必要になると思います。
→自動アップデート止めたほうがよさそうですね。
 類似質問を何度もしているかもしれませんが、自動アップデートを止める手順を教えていただけないでしょうか。

at_reika.yamazaki

2025年4月17日 19時36分

お世話になっております。山崎です。

ご連絡ありがとうございます。
長期的に利用予定とのことで了解です。
内容を確認したところ、少なくとも開発機では git を使い続けたいということなので、こちらは Node-RED のアップデートのみ停止すればよさそうに思います。
ABOS のアップデートはセキュリティ面で推奨されるため、こちらはそのまま定期アップデートいただくのが良いと思います。
以下に手順を示します。

1. アップデート対象の URL から Node-RED の行のみ削除
以下の /etc/swupdate.watch にアップデート対象の URL が記載されています。
この中に、node-red-container-latest.swu が記載された行があると思います。
この行のみ削除して、変更を保存してください。

vi /etc/swupdate.watch

削除後は以下の内容になっていると思います。

cat /etc/swupdate.watch
# list of urls the swupdate-url service will regularily poll
# This file is not used unless the swupdate-url service has been enabled
https://download.atmark-techno.com/armadillo-iot-a6e/image/baseos-6e-latest.swu

上記であれば ABOS のアップデートは継続されているので、問題ありません。

2. /etc/swupdate.watch の変更を永続化
以下を実行して、変更を永続化します。

 persist_file -rv /etc/swupdate.watch

これにより、Node-RED コンテナはアップデートされなくなります。
上記で開発を進めていただければと思います。
以上、どうぞよろしくお願いいたします。

hiroki.nakatani

2025年4月17日 22時07分

ご回答ありがとうございます。
いただいた内容を試してみます。

また、念の為確認ですがABOSのアップデートにてWifi設定が初期化されるなどの問題は発生しないでよかったでしょうか。

hiroki.nakatani

2025年4月18日 9時49分

五月雨失礼します。
Node-REDの自動アップデートを復活させる可能性もある為、以下の通りコメントアウトしました。

# list of urls the swupdate-url service will regularily poll
# This file is not used unless the swupdate-url service has been enabled
https://download.atmark-techno.com/armadillo-iot-a6e/image/baseos-6e-la…
# https://download.atmark-techno.com/armadillo-iot-a6e/image/node-red-con…

at_reika.yamazaki

2025年4月18日 9時54分

お世話になっております。山崎です。

はい。ABOS がアップデートしてもネットワーク設定は保持されます。

また、Node-RED の URL についてはコメントアウトしたということで了解です。
作業ありがとうございます。

以上、どうぞよろしくお願いいたします。