Ok…
Primer problema: la ruta del avatar era la dirección IP 127.0.0.1, mientras que todas las demás URL eran localhost. ¿Podría eso marcar alguna diferencia? La cambié de todos modos, yendo a rails c (ya que no parecía captar los parámetros desde la línea de comandos para iniciar Discourse (FORCE_HOST=localhost etc.), estaban en blanco en rails).
rails c
SiteSetting.force_hostname = "localhost"
SiteSetting.port = 4200
exit
Luego, las rutas de los avatares eran localhost y no la dirección IP después de reiniciar el sitio. Sin embargo, los avatares seguían sin funcionar.
Una investigación más profunda de los registros justo después de hacer una importación de avatares:
tail -n 200 log/development.log
reveló:
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"
y después de investigar un poco, descubrí que se debía a que había instalado ImageMagick pero no los delegados de jpeg PRIMERO. Desinstalé ImageMagick, instalé los delegados de jpeg (y otros):
sudo apt install -y libpng-dev libtiff-dev libwebp-dev libheif-dev liblcms2-dev zlib1g-dev libjpeg-turbo8 libjpeg-turbo8-dev
y luego reinstalé ImageMagick desde la fuente:
./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
Reinicié el servidor de Discourse y los avatares funcionaron al instante ![]()
Estoy molesto conmigo mismo por haberme fijado en las referencias de URL ip/localhost en lugar de comprobar lo básico… pero bueno, aprendí bastante en los últimos dos días y ahora funciona ![]()