アバターアップロードの問題 (Ubuntu)

了解…

最初の問題は、アバターのパスが 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 サーバーを再起動したところ、アバターはすぐに動作するようになりました :slight_smile:

IP/localhost の URL 参照に固執して、基本的なことを確認しなかったことに腹が立ちますが…しかし、これで、過去数日間でかなりのことを学び、今は動作しています :slight_smile: