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 から接続してみる
おしまい。お疲れ様でした(笑)