I have been self-hosting for a while now with Traefik. It works, but I’d like to give Nginx Proxy Manager a try, it seems easier to manage stuff not in docker.

Edit: btw I’m going to try this out on my RPI, not my hetzner vps, so no risk of breaking anything

  • hendrik
    link
    fedilink
    English
    262 months ago

    In my experience, all the 3 big ones work just fine. Caddy, Traefik, Nginx. I use Nginx.

    • @[email protected]
      link
      fedilink
      English
      52 months ago

      I have had the same experience. Have used all three at some point but mostly use nginx for new servers

  • @[email protected]
    link
    fedilink
    English
    12 months ago

    I really like Zoraxy. Similar to NPM but it’s its own thing and I like it a lot more

    I know how to use raw nginx/Caddy/traefik to do it, but I find the WebUI and all the extra features Zoraxy has to be very convenient and easy to use.

  • Matt The Horwood
    link
    fedilink
    English
    22 months ago

    I use nginx as the internet facing proxy, write my own config and manage it with source control. Also use traefik in docker land with service labels to configure it

  • @[email protected]
    link
    fedilink
    English
    22 months ago

    I am using nginx on a separate machine (VM) I have yet to try it in docker, I just have not found a reason to change it yet.

    I’ve tried npm, caddy and traefik but they are always way more complicated then adding a new config file in nginx…

    I feel the others add too much to the docker configs and limit what can be added to the reverse proxy. I have control of access from the nginx server, without having to change the apps configuration.

    NPM is the closest to what I would like (only needing the same network in docker) if I go the docker way but for some reason it never works as it should when I configure it. So I am sticking to plain nginx.

    • @[email protected]
      link
      fedilink
      English
      32 months ago

      Seconding Caddy. I’ve been using it for a couple of years now in an LXC and it’s been very easy to setup, edit and run.

  • @[email protected]
    link
    fedilink
    English
    42 months ago

    I’ve been mostly using Nginx Proxy Manager, but I recently set up Bunkerweb as a WAF for a couple of public services I’m hosting and I kind of like it. It does reverse proxy along with a bunch of other things (bad behavior blocking, geographic blocking, SSL cert handling, it does a lot).

    Mentioning it because I didn’t see any other mention of it yet.

    NPM is easy to use. Caddy sounds like something I’d like to try too now.

  • @[email protected]
    link
    fedilink
    English
    12 months ago

    This the main reason I switched from traefik, I can have certificates on all my internal stuff and not just on my docker host. I personally love NPM but maybe I’ll give NPMPlus a try, I have never heard of it.

    • @[email protected]
      link
      fedilink
      English
      22 months ago

      Ok, stupid question from a stupid person: if I have a phone connected to a local WiFi network, and I type in the URL of a subdomain which points make to that same network ie a hosted service on a home server, what route does the data take from the service back to my phone?

      • @[email protected]
        link
        fedilink
        English
        42 months ago

        Simple question but can be a complex answer. Basically it depends where your phone gets DNS from: if it’s using the ISP DNS (or some other public DNS server) it will resolve the public internet IP of your server and the data will route out to the ISP WAN before being routed back in.

        On the other hand you can configure a split DNS system, so say you are using your modem/gateway as your DNS server and it forwards DNS queries up to your ISP (or other) DNS server - a common setup, 1. you can add in a static host entry for your local server. Eg ‘yourservice.yourserverdomain.com = 192.168.1.20 (your server’s LAN IP)’

        Now when your phone is on the WiFi and it looks up your server’s address it gets the local IP and routes locally, which will be faster.

        If you need more info, search for terms like ‘reverse proxy split DNS best practice’.

  • @[email protected]
    link
    fedilink
    English
    12 months ago

    NPM was the first one that worked for me. I used a YouTube tutorial. I tried Nginx and Caddy, but couldn’t figure them out. For context, I try to run anything I can out of Docker, which adds some complexity I think. I must not have been doing the templates correctly or something.

    I plan on trying to go for Nginx or Caddy later, but right now NPM works wonders for my use case.

  • @[email protected]
    link
    fedilink
    English
    42 months ago

    I’ve been using nginx forever. It works, I can do almost everything I want, even if more complex things sometimes require some contortions. I’m not sure I would pick it again if starting from scratch, but I have no problems that are worth switching for.

  • @[email protected]
    link
    fedilink
    English
    72 months ago

    i use nginx proxy manager but im barely getting by. Theres zero useful documentation for setting up custom paths so everyone uses subdomains. I ended up buying my own domain just so i didnt feel guilty spamming freedns lmao.

    • Encrypt-Keeper
      link
      fedilink
      English
      52 months ago

      At that point you might be better off just using Nginx without the gui. SWAG is a nice reverse proxy focused implementation of it.

  • @[email protected]
    link
    fedilink
    English
    72 months ago

    I use traefik. I like it. Took a bit to understand, but it has some cool options like ssl passthrough and middlewares for basic auth.

    • @[email protected]
      link
      fedilink
      English
      22 months ago

      You can even use it to do the SSL part for a local non-SSL IMAP server. And, there’s a CrowdSec middleware as well, that will block blacklisted IPs.

  • @[email protected]
    link
    fedilink
    English
    222 months ago

    it seems easier to manage stuff not in docker

    Read into Traefik’s dynamic configuration. Adding something outside of Docker is as easy as adding a new config file in the dynamic configuration folder. E.g. jellyfin.yml:

    http:
    
      routers:
    
        jellyfin:
          rule: Host(`jellyfin.example.org`)
          entrypoints: websecure
          tls:
            certResolver: le
          service: jellyfin
    
      services:
    
        jellyfin:
          loadbalancer:
            servers:
              - url: "http://192.168.1.5:8096/"
    

    The moment you save that file it will be active and working in Traefik.

  • Morethanevil
    link
    fedilink
    English
    22 months ago

    I like Zoraxy it has a lot of features, like Zerotier integration, status monitoring etc and a clean UI

    Runs fine for my needs and fully replaced NPM for me 😊

    You can run it in docker or as a single binary directly

    • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍
      link
      fedilink
      English
      322 months ago

      I mean, the basic config file for Caddy is 1 line, and gives you Let’s Encrypt by default. The entire config file for a reverse proxy can be as few as 3 lines:

      my.servername.net {
         reverse_proxy 127.0.0.1:1234
      }
      

      It’s a single executable, and a single 3-line file. Caddy is an incredible piece of software.

      • @[email protected]
        link
        fedilink
        English
        52 months ago

        Ive got a basic workflow for nginx proxy manager now so this isnt super useful but good god that’s exactly what i wish nginx was.

      • @[email protected]
        link
        fedilink
        English
        32 months ago

        When I was researching reverse proxies I first stumbled upon nginx and traefik and especially nginx seemed a bit intimidating. As someone who hadn’t done it before I was worried if I’d do it right. Then I found caddy and yeah just used a threeliner like that in config and that was that. Simple and easy to get it right.

        I’ve since switched to having my stuff behind wireguard instead of reverse proxy, but I keep caddy around so I can just spin it back up if I want to access Jellyfin on someone’s tv or something.

    • 🔰Hurling⚜️Durling🔱
      link
      fedilink
      English
      1
      edit-2
      2 months ago

      Honest noob question. I currently connect to my self hosted server using Twingate. How would this be different? can you give me an Eli5 what a reverse proxy manager would make my setup better?

  • @[email protected]
    link
    fedilink
    English
    12 months ago

    having tried many in past, i always go back to haproxy. it has everything required as proxy and load balancer while also being very efficient.