ということで、Epgstation で撮りためた録画の管理をどうにかしたいなあとおもっていて、いろんなネットワークメディアサーバを試していて、今までは Emby を使っていました。 が、「この機能があったらなあ」みたいなのはみんな有料だったりして、なら払えばいいんだけど、なんかこう、うまくいえない感じがあって、他はないかと探してて、jellyfin に たどり着きました。
調べてみたら、Emby からの fork で、dotnet で書かれているので、FreeBSDでも動きそうな感じだったのですが、どうも一筋縄ではいかない模様。 まあ、さっくり docker で動かしてみるべ、とおもって前回の docker 導入になるのですがあれば前段階。今回が本番。
結論から書くと、何も問題なく docker の環境で動きます。 では何がはまったかというと、サーバにあるメディアの扱い。 今まで Emby は jail で動かしていたので nullfs でマウントしていたのですが、今回は bhyve なのでそうもいきません。 当初 nfs でいける、と思っていましたが、 nfs server が動いていなかったというオチもあり、なんかいろいろこう面倒になって、 sshfs 使ってマウントすることにしました。 まあ、そこまではよかったのよ。 で、事前に sshfs をマウントして、そこを bind してあげれば docker の中で jellyfin は動いたし。 でも、docker の volume driver で sshfs を使えるということがわかったので試してみたのですが、そこでちょっとはまったので記録として残しておくことに。 すんなり終わったら「よかったねー」で済む話。 ぐぐっても調べ方がわるいのか、よくわからなかったのだけど、理解してみたら、公式にきちんとやり方が書いてあるというオチは秘密だ。
さて、前回の設定で、docker と docker-compose はインストール終わってますので、そこから先のお話。 docker の sshfs プラグインをインストールして、設定します。 sshkey.source がポイントです。ここは個別の環境に合わせてください。
ということで、docker 使って jellyfin を動かしてみました。あー、たしかに docker 楽だわあ。 細かいところいじるのにどうすればいいか、ぜんぜんわかってないので、いろいろ作って壊して遊びましょう。
参考URL: Docker volume plugin for sshFS https://github.com/vieux/docker-volume-sshfs