There are a few reasons why pict-rs might not be running, upgrades being one of them. At the moment the whole of lemmy UI will crash and burn if it cannot load a site icon. Yes, that little thing. Here’s the github issue.
To work around this I have set the icon and banner (might as well since we’re working on this) to be loaded from a local file rather than nginx.
Here’s a snippet of nginx
config from the server
block:
location /static-img/ {
alias /srv/lemmy/lemmy.cafe/static-img/;
# Rate limit
limit_req zone=lemmy.cafe_ratelimit burst=30 nodelay;
# Asset cache defined in /etc/nginx/conf.d/static-asset-cache.conf
proxy_cache lemmy_cache;
}
I have also included the rate limitting and cache config, but it is not, strictly speaking, necessary.
The somewhat important bit here is the location
- I’ve tried using static
, but that is already used by lemmy itself, and as such breaks the UI. Hence the static-img
.
I have downloaded the icon and banner from the URLs saved in the database (assuming your instance id in site
is, in fact, 1):
SELECT id, icon, banner FROM site WHERE id = 1;
id | icon | banner
----+----------------------------------------------+------------------------------------------------
1 | https://lemmy.cafe/pictrs/image/43256175-2cc1-4598-a4b8-2575430ab253.webp | https://lemmy.cafe/pictrs/image/c982358f-6a51-4eb6-bf0e-7a07a756e600.webp
(1 row)
I have then saved those files in /srv/lemmy/lemmy.cafe/static-img/
as site-icon.webp
and site-banner.webp
.
Changed the ownership to that of nginx (www-data
in debian universe, http
and httpd
in others.
I have then updated the site table to point to the new location for icon
and banner
:
UPDATE site SET icon = 'https://lemmy.cafe/static-img/site-icon.webp' WHERE id = 1;
UPDATE site SET banner = 'https://lemmy.cafe/static-img/site-banner.webp' WHERE id = 1;
Confirm it got applied:
SELECT id, icon, banner FROM site WHERE id = 1;
id | icon | banner
----+----------------------------------------------+------------------------------------------------
1 | https://lemmy.cafe/static-img/site-icon.webp | https://lemmy.cafe/static-img/site-banner.webp
(1 row)
That’s it! You can now reload your nginx server (nginx -s reload
) to apply the new path!
So is Lemmy pulling all its UI assets from pict-rs? That seems a little unecessary.
Yes, it is. To the point of pict-rs not being able to read or access your instance icon, resulting in a server 500 error; nothing will work, until you update the row entry for site=1 icon in psql DB for Lemmy.
But nah, everything in the Lemmy software world is great, right?