radiko を録音したりする radicast を docker で動かす

soh335/radicast · GitHub

radiko を録音したり、podcast 形式の xml を配信する radicast というのを前に作った。これを動かすには radicast 以外に

が必要だった。

録音する環境を移動しようかと考えていたので Dockerfile に記述しポータビリティを高めてみようと思った。 なので Dockerfile を用意し、docker-hub で automated build を行うようにした

$ mkdir -p workspace
$ cd workspace
$ docker pull soh335/radicast
$ docker run --rm soh335/radicast:latest --setup > config.json
$ docker run --rm -p 3355:3355 -v `pwd`:/workspace soh335/radicast:latest --config /workspace/config.json --output /workspace/output

利用するには、このような感じで mp3 が保存されたり設定ファイルを置いておくディレクトリを作成し、docker-hub から pull する。 後は radicast 単体で動かすように setup flag で設定ファイルを生成してから、setup flag なしでもう一度コマンドを打つと起動出来る。

所感

最初は wercker で build, test を行っているので tag が打たれた際に github release にクロスコンパイルされたものがアップロードされ、docker-hub の build trigger を利用して、github release からダウンロードしたバイナリでイメージの build が行われるようなフローを期待して作業をしていた。

なので、soh335/wercker-step-docker-hub-build-trigger · GitHub というのを作った。ただ、これは最終的には利用しなかった。

build trigger の場合は、登録されている Dockerfile で処理が行われるので、Dockerfile に更新があった場合などに対応出来ない。 なので結局は go get を単純に行い、master のものが常に build されるということにした。