Raspberry Pi 5が発売されたようだ。

さすがにこの円安の割高感に加えてシングルボードコンピュータの選択肢が増えつつあるこのご時世でわざわざRaspberry Piを買うか、いや買うまいかと悩んでいる。

閑話休題。 以前も何度か取り上げたMinioであるのだが、これの設定がうまくできずにハマっていた。

CarrierWave.configure do |config|
  config.fog_credentials = {
    endpoint: "http://localhost:9000",
    path_style: true
  },
  config.asset_host = "http://assets.example.com"
  config.fog_directory = "my-bucket"
  config.fog_public = true
end

まずは画像など直接ファイルを参照したい場合はfog_public = trueを指定しないといけない。

そうしないとasset_hostが反映されない。

あくまでファイルは外部に干渉されないような用途でのみfog_public = falseを指定できる。

ただこの設定だとなぜかNginx経由でアクセスしたときアップロードしたファイルが参照できない。

ファイルは存在しているはずなのにAccessDeniedが出続けてずいぶんハマった。

CarrierWave.configure do |config|
  config.asset_host = "http://assets.example.com/my-buscket"
  config.fog_directory = "my-bucket"
end

正しくはasset_hostfog_directoryを追加してやらないといけないようだった。

こうして文章に残してしまえばあっけないのだが、半日近くこの問題に時間を費やした。

おそらくpath_styleは本来のAWSではサブドメインになるのだろうから、Minioをサブドメインでも運用できる設定があればうまくいくかもしれない。