LibreELEC のアドオンで BOINC クライアントを走らせていますが、プリインストールされた BOINC Manager で制御するように Docker コンテナが作られています。そのせいか、外部から RPC がつながりません。他の BOINC クライアントは、OpenMediaVault の Scheduled Jobs を利用して状況取得 & メールしているので、LibreELEC にも RPC が繋がればできるのにな〜と思っておりました。
ちょっと時間ができたので、あれこれググりながらやってみたら、とりあえずできました。でもアドオン(コンテナ)を更新したら元に戻ってしまうと思うので、やり直せるように記録しておきます。
- LibreELEC へ ssh でログイン
- BOINC アドオンの起動用スクリプトがあるディレクトリへ移動
# cd /storage/.kodi/addons/docker.linuxserver.boinc/bin
- 念のためバックアップ
# cp docker.linuxserver.boinc docker.linuxserver.boinc_ORIG
- 編集します
# vi docker.linuxserver.boinc
- 編集する前はこの内容でした
#!/bin/sh
name="boinc"
・・・・・・・中略・・・・・・・
docker run --name="$name" \
--rm \
--network=lsio \
--hostname="Boinc-LibreELEC" \
-e WARNING_MSG="DO NOT CONTROL THIS IN PORTAINER!" \
-e PUID="65534" \
-e PGID="100" \
-e TZ="$TIMEZONE" \
-p "$P_port":8080 \
-v "$V_config":/config \
$D_vaapi_args \
$E_additional \
"$DOCKERIMAGE"
- RPC の既定のポート番号31416を外部公開します
-p "$P_port":8080 \
1行追加 -p "31416":31416 \
-v "$V_config":/config \
- BOINC のデータファイルがあるディレクトリへ移動
# cd /storage/.kodi/userdata/addon_data/docker.linuxserver.boinc
# vi cc_config.xml
- こんな中身にします (元は無かったファイル)
<cc_config>
<options>
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
</options>
</cc_config>
- RPC のパスワードを確認 (同じディレクトリ)
# cat gui_rpc_auth.cfg (半角英数字が32文字入っていました)
- BOINC コンテナを停止
# docker ps --no-trunc CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a24984d93d148b9f551c7266851145566dfb02c1b060527ced4fadf2c3f809f6 linuxserver/boinc "/init" 4 days ago Up 21 minutes 3000/tcp, 3389/tcp, 0.0.0.0:8088->8080/tcp boinc # docker stop a24984d93d148b9f551c7266851145566dfb02c1b060527ced4fadf2c3f809f6 a24984d93d148b9f551c7266851145566dfb02c1b060527ced4fadf2c3f809f6
- 停止したのを確認しつつ、自動的に起動するのを待ちます (LibreELEC が再起動してくれる)
# docker ps --all --no-trunc # docker ps --all --no-trunc # docker ps --all --no-trunc # docker ps --all --no-trunc CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 88aa0ee935fa88b53ed7f4b30283ff4be6c5c297e70208edc28266adffe72cdf linuxserver/boinc "/init" Less than a second ago Created boinc
- ポート番号31416が公開されたのを確認
# docker ps --all --no-trunc CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 88aa0ee935fa88b53ed7f4b30283ff4be6c5c297e70208edc28266adffe72cdf linuxserver/boinc "/init" 18 seconds ago Up 17 seconds 3000/tcp, 3389/tcp, 0.0.0.0:31416->31416/tcp, 0.0.0.0:8088->8080/tcp boinc
- BOINC Manager から接続してみる

おしまい。お疲れ様でした(笑)
コメントを残す