Edit: Solved! See solution in comments

I’ve setup a self hosted lemmy docker and it works when accessing directly on the same subnet.

I don’t have ports opened in my firewall and my ISP don’t offer static IP so I rely on Clouflare tunnel as an alternative.

I’m able to load the front page, but can’t sign in. I don’t cache JavaScript through Cliudflare so I believe it’s relating to Websockets, but curious if anyone else has been able to get this working?

  • @weckhorst@lemmy.mlOP
    link
    fedilink
    English
    611 months ago

    OK, so for anyone who might stumble across this in the future; I solved it. Kinda.

    Basically, what’s happening is that lemmy is using the site URI for the human-readable content and /api for api stuff (including login, loading and a bunch of other stuff).

    I tried setting up two sites in the tunnel; one to lemmy.mydomain and one to lemmy.mydomain/api but that didn’t seem to work. Presumably due to websocket calls not being re-routed.

    What I opted to do was to setup lemmy.mydomain to my Nginx Reverse Proxy (I manage it using Nginx Proxy Manager). From there I added a proxy host pointing to my lemmy ui docker container and created a custom location for /api, pointing to the backend at port 8536.

    The result is working great and all functions (that I’ve tested so far) is working without a hitch! Certificates are automatically managed by Cloudflare and I also get the adde dbenefit that Cloudflare offers on DNS and filtering while allowing access to my lemmy instance.

    • @kbrot@lemmy.one
      link
      fedilink
      English
      111 months ago

      Hi, I’m hoping you can help me as it seems our setups are very similar and the documentation around this project is abysmal.

      Using their packaged nginx, I have successfully launched lemmy instance accessible to the public net, but I can only get it without SSL/HTTPS and it’s not federated.

      Using Nginx Proxy Manager, I can of course get a correctly SSL certified site but for the life of me I can’t forward correctly through to the Lemmy server.

      Question when you have a moment…

      • In NPM, is the Forward Hostname the machine IP (in my case, the external IP of my VPS) or is it the internal Docker-assigned IP for the Lemmy container?
      • What external hostnames do you have set in your docker-compose.yml? Is it the full typed DNS domain (Cloudlfare in your case, mine’s DDNS) or is it the raw external IP again?

      Thanks for whatever you can provide!