了解…
最初の問題は、アバターのパスが IP アドレスの 127.0.0.1 であり、他のすべての URL が localhost であったことですが、これは違いを生んだでしょうか?コマンドラインから Discourse を起動する際にパラメータが認識されないようだったため(FORCE_HOST=localhost などは Rails では空白でした)、とにかくこれを変更しました。Rails コンソールに入って変更しました。
rails c
SiteSetting.force_hostname = "localhost"
SiteSetting.port = 4200
exit
サイトを再起動した後、アバターのパスは IP アドレスではなく localhost になりました。しかし、アバターはまだ動作しませんでした。
アバターのインポートを実行した直後にログをさらに調査したところ、次のことがわかりました。
tail -n 200 log/development.log
次のことが表示されました。
convert: no decode delegate for this image format jpeg:/home/bob/discourse/public/uploads/default/original/1X/92bb0d46e6a4b8a1333505b9d2da59a5ed1721ec.jpeg[0]' @ error/constitute.c/ReadImage/752.\nconvert: no images defined jpeg:/tmp/discourse-thumbnail20260202-4096-qjyo93.jpeg' @ error/deprecate.c/ConvertImageCommand/3368.\n"
そして、少し調べた結果、Imagemagick はインストールされていましたが、JPEG デリゲートが先にインストールされていなかったことが原因だとわかりました。Imagemagick をアンインストールし、JPEG デリゲート(およびその他)をインストールしました。
sudo apt install -y libpng-dev libtiff-dev libwebp-dev libheif-dev liblcms2-dev zlib1g-dev libjpeg-turbo8 libjpeg-turbo8-dev
そして、ソースから Imagemagick を再インストールしました。
./configure \
--prefix=/usr/local \
--with-modules \
--disable-static \
--with-quantum-depth=16 \
--with-jpeg=yes \
--with-png=yes \
--with-tiff=yes \
--with-webp=yes \
--with-heic=yes \
--with-lcms=yes
make -j"$(nproc)"
sudo make install
sudo ldconfig
Discourse サーバーを再起動したところ、アバターはすぐに動作するようになりました ![]()
IP/localhost の URL 参照に固執して、基本的なことを確認しなかったことに腹が立ちますが…しかし、これで、過去数日間でかなりのことを学び、今は動作しています ![]()