Mirakurun で環境変数を用いて allowIPv4CidrRanges を設定する

注意:設定内容に気を付けること.設定を誤って外部に Mirakurun が公開されてしまうと,各種法律に抵触する可能性がある.外部の第三者が Mirakurun にアクセスできないように,よく設定を確認しなければならない.
なお,本記事を参照したり,記事の内容を実行したりしたことで発生したいかなる損害についても,執筆者はその責任を負わない.設定は自己責任で行うこと.

Mirakurun のオプションである allowIPv4CidrRanges を編集して,接続を許可する IP アドレスの範囲を設定したい. Mirakurun は Docker で動かしているので,docker-compose.yml環境変数を設定することにより,Mirakurun に値を渡す.

設定の説明によると,allowIPv4CidrRangesstring 型の配列で指定することになっている.

github.com

しかし,環境変数で設定したい場合は,以下のように CIDR 形式のアドレス範囲をコンマで区切る記法を用いなければならない(はてなブログの仕様の関係で勝手に改行が入っていることに注意).

version: "3.7"
services:
  mirakurun:
    ...
    environment:
      ALLOW_IPV4_CIDR_RANGES: "10.0.0.0/8,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
   ...

以下のような記法はダメで,コンテナの起動の際にエラーが出る.

# 余計な空白を入れてはいけない
ALLOW_IPV4_CIDR_RANGES: "10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"

# 配列形式ではいけない
ALLOW_IPV4_CIDR_RANGES: "['10.0.0.0/8', '127.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16']"
ALLOW_IPV4_CIDR_RANGES: [ "10.0.0.0/8", "127.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16" ]

本記事の執筆にあたっては,以下のあたりのソースコードを参考にした.

github.com

github.com