ぬまのどろ

namazuのゆるい日記。 ゆるり更新。

Streamaというセルフホスト可能な動画配信プラットフォーム

今日は研究室案件で、動画をセルフホストできるWebアプリなんかないのー??って言われたのでStreamaなる動画配信のプラットフォームを少し触っていました。

github.com

Netfilixライクなものらしいです。(私Netfilix使ったことないのでどう似てるのかイマイチよくわからりませんが)

これを使うと動画公開とかが自前で結構簡単に出来ます。 今日はこれを動かしたりしていました。

動かし方

公式のサイトにDockerImageがあるよ!って書いてあります。 でも、そのImage古くて使い物になりません。 結局自分でDockerFileを書いて動かしました。 こうやってたくさん野良DockerImageが増えていくんですね。

手元で動かすだけならば

  • jre-8を用意
  • githubのリリースから最新のwarを取得
  • アプリケーションの設定ファイル application.ymlをgithubのsample-doc以下にあるものを参考にwarと同階層に配置
  • warを起動

これだけで動きます、DBとしては組み込みのH2かMySQLが選択できるみたいです。

手元で動かし、持ってたアニメの録画ファイルをいくつか上げてみた限りではそこそこ使い勝手はいいです、複数人で同時にLive視聴みたいなこともできるみたいです。 アニメを流して踊ってたら時間が無駄に過ぎてしまってよくなかったと反省。

k8sのIngress設定で詰まった

手元で作って動かすだけならすぐに動くのですが、このStreamaをk8s上にデプロイしようとしたら色々とハマってしまいました。 デプロイメントやボリュームの設定は特に困ることもないのですが、Ingressの設定で引っかかりました。

具体的にはNginxの設定でよくあるmax_body_sizeが1mで動画とかの大容量ファイルをアップロード出来ないってやつです。 IngressのNginxControllerもmax_body_sizeは1mなのでここを通る際にPOSTが落とされてしまいました。

IngressのNginxの実際の設定は個別のアノテーションか全体のconfigmapで細かく調整できるようです。

github.com

結局この辺を参考にIngressの設定を更新したのですが、効かない。 また明日ちょっと挑戦してみようと思います。

最終的にCSCのk8sにこのStreamaを立てることになりそうです。その際はCSCのフロントWebサーバ(古いApache)も通さないと行けないので、そこでも引っかかったら面倒くさいなぁってつらいさんになりました。

おしまい。