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!
Ship an appimage or something, use basic fs abstraction to create an encrypted blob, do whatever you want within said blob.
Look at virtualbox or something for inspiration.
Look at xdg desktop portals for transfering files.