東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

dockerのchinachuが動かない・・・


スポンサードリンク

録画サーバの構築を少しずつ進めています。

f:id:padobure:20201219074402j:plain

Photo by Clark Young on Unsplash

dockerを使って、mirakurun,chinachu,epgstationの構成は動作しました。ただ、epgstationは使い慣れていないのでchinachuへの変更を試みています。

けど、chinachuがうまく動かないです。

活用しているコード

活用させていただいているのはこちら。先人の知恵に感謝。

github.com

でも、動かない。。。

状況

番組表は取得できているのですが、録画しようとすると以下のように「予約に失敗しました(500)」と表示されて録画できないのです。

f:id:padobure:20201219071058p:plain

以下のようにOperatorが停止しているという状態です。

f:id:padobure:20201219071518p:plain

動いているchinahuの状態

ネイティブ(dockerではない)で動いているのは、以下のようなログが出力されています。

19 Dec 03:15:44 - STREAM: ./log/scheduler
19 Dec 03:15:44 - EXIT: node app-scheduler.js (pid=17007)
19 Dec 03:15:45 - READ: `/home/chinachu/chinachu/data/reserves.json` is updated.
19 Dec 03:25:44 - SPAWN: node app-scheduler.js (pid=18822)
19 Dec 03:25:44 - STREAM: ./log/scheduler
19 Dec 03:25:44 - EXIT: node app-scheduler.js (pid=18822)
19 Dec 03:25:45 - READ: `/home/chinachu/chinachu/data/reserves.json` is updated.
19 Dec 03:35:44 - SPAWN: node app-scheduler.js (pid=20234)
19 Dec 03:35:44 - STREAM: ./log/scheduler
19 Dec 03:35:44 - EXIT: node app-scheduler.js (pid=20234)
19 Dec 03:35:45 - READ: `/home/chinachu/chinachu/data/reserves.json` is updated.

動いていない理由:コンテナが起動していない?

起動状態を確認すると、以下のようになっています。

operatorとして起動するコンテナ「d558ef26dc99」は「 Exited (0) 2 minutes ago 」とあまり見慣れない表示になっています。

# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                     PORTS                                                                     NAMES
e8d130237343        yakumosaki/chinachu:latest   "/dumb-init -- bash …"   2 minutes ago       Up 2 minutes               5353/tcp, 0.0.0.0:10772->10772/tcp, 20772/tcp, 0.0.0.0:50772->50772/tcp   docker-chinachu_wui_1
d558ef26dc99        yakumosaki/chinachu:latest   "/dumb-init -- bash …"   2 minutes ago       Exited (0) 2 minutes ago                                                                             docker-chinachu_operator_1

コンテナに入れるかどうかを試してみると、「Container d558ef26dc9995984be560e8b418c914dc229519a50b2672cf6663885101b9b2 is not running」と動いていないことになっています。

# docker exec -it d558ef26dc99 bash
Error response from daemon: Container d558ef26dc9995984be560e8b418c914dc229519a50b2672cf6663885101b9b2 is not running

operatorだけ単独で動かすと

以下のように「uncaughtException: Error: EACCES: permission denied, open '/usr/local/chinachu/data/recording.json'」となっています。permissionエラーです。

Attaching to docker-chinachu_operator_1
operator_1  | Client {
operator_1  |   basePath: '/api',
operator_1  |   docsPath: '/docs',
operator_1  |   priority: 2,
operator_1  |   host: '192.168.1.254',
operator_1  |   port: '40772',
operator_1  |   socketPath: '/var/run/mirakurun.sock',
operator_1  |   userAgent: 'Chinachu/0.10.2-gamma.0 (operator)',
operator_1  |   _userAgent: 'MirakurunClient/2.15.2 Node/v10.16.3 (linux)' }
operator_1  | uncaughtException: Error: EACCES: permission denied, open '/usr/local/chinachu/data/recording.json'
operator_1  |     at Object.openSync (fs.js:443:3)
operator_1  |     at Object.writeFileSync (fs.js:1194:35)
operator_1  |     at Object.<anonymous> (/usr/local/chinachu/app-operator.js:118:4)
operator_1  |     at Module._compile (internal/modules/cjs/loader.js:778:30)
operator_1  |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
operator_1  |     at Module.load (internal/modules/cjs/loader.js:653:32)
operator_1  |     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
operator_1  |     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
operator_1  |     at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
operator_1  |     at startup (internal/bootstrap/node.js:283:19)
docker-chinachu_operator_1 exited with code 0

これが原因かもしれないです。もう少し調べるとします。