Client side image optimization enabled by default の議論を続けます:
私は地域の写真家向けのセルフホスト型 Discourse インスタンスの管理者です。ここでは主に高品質なメディアをアップロードしています。コンポーザーで画像をリサイズする際のデフォルトの幅を変更したいと考えていますが、設定項目が見つかりません。
Ask Bot は composer media optimization image resize dimensions threshold を確認するよう指示しましたが、この設定が廃止されたか非表示になっているのではないかと疑っています。現在見つけられる設定は composer media optimization image enabled のみです。
本質的には、コンポーザーでアップロードされた画像を 1920px ではなく最大 1440px の幅にリサイズしたいと考えています。また、画像の長い辺のみをリサイズするオプション(例えば、縦長の画像の場合は幅ではなく高さでリサイズする)があれば理想的です。
バージョン 2026.5.0-latest ( af1090fa6f )
Lilly
(Lillian )
2026 年 5 月 1 日午後 3:58
2
gallery3540:
画像リサイズ寸法のしきい値
これは非表示設定のため、Rails コンソールで変更できます。
ただし、ここにも追加する必要があると思います:
これは利用可能なすべての「非表示サイト設定」を説明するための#リファレンスガイドです。
必要なユーザーレベル:管理者
Discourse の非表示サイト設定は、標準的な管理インターフェースからは利用できない高度な構成オプションです。これにより、Discourse インスタンスの機能をさらに柔軟にカスタマイズできます。
非表示サイト設定の変更に関する追加情報については、非表示サイト設定の有効化 をご覧ください。
以下は、Discourse で利用可能なすべての非表示サイト設定のリファレンス表です。
基本
Discourse インスタンスの基本的な側面を調整するための設定:
サイト設定
タイプ
説明
デフォルト値
max_category_nesting
integer
許可されるカテゴリのネストレベルの最大数を設定します。
2
enable_mobile_theme
boolean
モバイル専用のテーマを有効にします。すべてのデバイスでレスポ…
変更方法:
cd /var/discourse
./launcher enter app
rails c
SiteSetting.composer_media_optimization_image_resize_dimensions_threshold = 1440
exit
この変更を行った後、アプリの再ビルドが必要ですか?
正しく設定されているか確認する方法はありますか?ハードリフレッシュ(Ctrl+F5)を試しましたが効果が見られず、仕方なくアプリを再構築しましたが、それでも状況は変わりませんでした。画像は依然として1920pxまで縮小されてしまいます。
/var/www/discourse# rails c
Loading production environment (Rails 8.0.5)
discourse(prod)> SiteSetting.composer_media_optimization_image_resize_dimensions_threshold
=> 1440
Lilly
(Lillian )
2026 年 5 月 1 日午後 4:41
6
通常、サイト設定を変更するときは再起動を行います。
./launcher restart app
Lilly
(Lillian )
2026 年 5 月 1 日午後 4:50
7
Rails コンソールで再度、SiteSetting.composer_media_optimization_image_resize_dimensions_threshold と入力すると、どのような値が返されますか?
私はこの特定の変更をテストしましたが、更新されました。
1440 が返されます
この画像の元の解像度は 3089x2048 ですが、今テストとしてアップロードした後のリサイズ結果がこちらです。
Falco
(Falco)
2026 年 5 月 1 日午後 5:00
9
composer_media_optimization_image_resize_dimensions_threshold は、いつトリガーするかを制御します。
1440 にリサイズしたい場合は、composer_media_optimization_image_resize_width_target にその値を設定する必要があります。
うーん、ダメですね。
これらの値を両方とも 1440 に設定し、念のため /var/discourse/launcher rebuild app を実行しましたが、画像は依然として 1920 にリサイズされています。
編集:実際、ビルドを実行して Rails に戻ると、2 つの変数が再び未定義に戻ってしまいました。デフォルト値に上書きしているものがあるのでしょうか?
実際、Rails から退出してすぐに戻っても、以下のような表示になります:
discourse(prod)> composer_media_optimization_image_resize_dimensions_threshold
(discourse):1:in '<main>': undefined local variable or method 'composer_media_optimization_image_resize_dimensions_threshold' for main (NameError)
Falco
(Falco)
2026 年 5 月 1 日午後 5:50
11
その設定のチェック方法ではありません。サイト設定名の前に SiteSetting. を付ける必要があります。
これで解決しました!ただ、解像度の比率を完全に間違えていましたね。頭の中では高さの1440pだと思っていたのに、実は幅の方だったんです 画像が以前よりもさらに小さく出力されているなんて、驚きましたよ。
Falco
(Falco)
2026 年 5 月 1 日午後 6:24
13
幅の切り替えしか用意されていないので、おそらく「2560」のことで間違いないでしょうか?
また、もう一方の次元(高さ)でも操作できるようにしたいというご要望はよくわかります。当初、幅のみを対象としたのは、すでに切り替えオプションが多すぎるため、妥協して決めたことです。近年ではチームがさらに設定を隠すようにしているため、それ以上機能を追加するのは難しい状況です。
もしかすると、幅か高さのいずれか大きい方の辺に対して動作するように変更し、動的に選択できるようにするのはどうでしょうか?
はい、2560 に設定したところ、完璧に動作します。
動的に長い方の辺を選択できるようにすると、私にとっては非常に役立ちます。なぜなら、私たちの画像の多くは縦向きであり、アップロード前にリサイズしないと、不釣り合いに大きく表示されてしまうからです。
ご助力いただき、ありがとうございます!
画像のリサイズを回避する既知の方法はありますか?
あるユーザーが新しいトピックに8枚の画像をアップロードしました。期待通り3枚だけが2560pxにリサイズされた一方、残りの5枚は元の解像度のままのようです。