Проблема с загрузкой аватара (Ubuntu)

Хорошо…

Первая проблема — путь к аватару указывал на IP-адрес 127.0.0.1, тогда как все остальные URL использовали localhost. Имело ли это значение? Я всё равно исправил это, зайдя в консоль Rails (так как параметры, переданные в командной строке при запуске Discourse (FORCE_HOST=localhost и т. д.), не подхватывались, и в Rails они были пустыми).

rails c
SiteSetting.force_hostname = "localhost"
SiteSetting.port = 4200
exit

После перезапуска сайта пути к аватарам стали указывать на localhost, а не на IP-адрес. Однако аватары всё ещё не работали.

Дальнейшее изучение логов сразу после импорта аватара:

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, вместо того чтобы проверить основы… но в итоге я многому научился за последние пару дней, и теперь всё работает :slight_smile: