• 2 Posts
  • 73 Comments
Joined 6 months ago
cake
Cake day: December 26th, 2023

help-circle

  • You can do this with a site-to-site wireguard VPN. You will need to set up the proper routing rules on each termination. On the Internet facing side you will want to do DNAT (modifies destination, keeps source) to redirect the incoming traffic to your non- internet facing side through the tunnel. Then on the non- internet facing you need to set up Routing rules to ensure all traffic headed for public IPs is traversing the tunnel. Then back on the Internet facing side you need to SNAT (modify source, keep destination) the traffic coming through the tunnel headed for the Internet. Hopefully this helps. People saying this goes against standards are not really correct as this is a great application for NAT.




  • I wonder if this is the cause for the UI failing and showing a white page with “server error”. It has something to do with a failure to retrieve the site icon and if postgres is crashing that could explain why lemmy-ui is failing to retrieve the site icon.

    My current “fix” for this is a script that runs every 10 minutes and sets the site image to NULL, curls the site URL, then sets the site image back to what it was. This does seem to work around the problem and if the UI does crash it’s only down for a maximum of 10 minutes.















  • Check this GitHub link for instructions. https://github.com/LemmyNet/lemmy-ui/issues/1530#issuecomment-1605781461

    Once I get home from work this afternoon I will post my docker-compose.yml which has an extra container that automatically deletes the database entry then resets it.

    EDIT: Here is the extra container from my docker-compose.yml

      icon-fix:
        image: iconfix:latest
        command:
          - /bin/sh
          - -c
          - |
            sleep 10
            # Remove Site Icon - be sure to set your postgres password
            PGPASSWORD=<POSTGRESS PASSWORD HERE> psql -U lemmy -h postgres -d lemmy -c "UPDATE site SET icon = NULL WHERE id = 1;"
            # Refresh Site - replace example.com with your sites domain
    	curl -f -sS -H "Host: example.com" http://lemmy-ui:1234 > temp.html
            # Reset Site Icon - Set your postgres password and replace the URL with one that points to your icon
     	PGPASSWORD=<POSTGRESS PASSWORD HERE> psql -U lemmy -h postgres -d lemmy -c "UPDATE site SET icon = 'https://example.com/pictrs/image/2cc85182-5739-4c86-b982-94fc913e80d3.webp' WHERE id = 1;"
        depends_on:
          - postgres
    

    And here is the Dockerfile for building the iconfix image

    FROM docker.io/postgres:latest
    RUN apt update
    RUN apt install -y curl
    

  • This is an issue that has been present for a long time but recently came back worse with the 0.19 update. It is caused by lemmy-ui failing to load the site icon and it typically happens whenever the the docker container is started/restarted while you have a site icon set. The only fix at the moment is to manually delete the database entry which contains a link to the site image.