I’m playing around with my own instance of Lemmy but I keep getting a “websocket connection failed” error in my console. I’m having a really hard time understanding how to set up nginx for websockets - I’m more used to Apache and not familiar with WS at all. Is there documentation hiding somewhere that will help me set up my proxy forwarding properly?

EDIT: Solved! Check out my solution here: https://lemmy.world/comment/141648. Thanks everyone!

  • nulldev
    link
    fedilink
    English
    3
    edit-2
    1 year ago

    The default Lemmy nginx config should handle websockets properly. Are you putting it behind a second nginx layer?

      • nulldev
        link
        fedilink
        English
        2
        edit-2
        1 year ago

        I would recommend you ditch the second nginx layer. It’s a waste of resources and it can cause a multitude of issues if the configuration isn’t done correctly.

        • If you are hosting multiple domains on the same server, disable the nginx container in the docker-compose.yml file and copy Lemmy’s nginx config into your system’s nginx config (e.g. /etc/nginx/).
          • If you go this route you should also delete the lemmyexternalproxy network, delete internal: true on the lemmyinternal network (required to enable port forwarding) and add port forwards to the lemmy and lemmy-ui docker services. Here’s what that would look like: https://www.diffchecker.com/vjfEFuz6/
        • If you are not hosting multiple domains on the same server, simply edit the port forwards in the docker-compose.yml file for the proxy service to bind to whatever your external facing IP is.
        • @penguin_ex_machinaOP
          link
          English
          11 year ago

          AHA. That did it. Getting rid of the host’s nginx fixed the issue. Now websockets work as expected and I can log in!