• Antik 👾@lemmy.world
    link
    fedilink
    arrow-up
    18
    ·
    edit-2
    1 year ago

    For me it’s https://nginxproxymanager.com/ it’s just so easy to setup and use. One docker command and you’re up and running with a nice webinterface to manage access to your docker instances with ssl. I heard good things about Traefik too but I have no personal experience with that one. NPM does everything I need and if it ain’t broken… :)

    Edit: because people love screenshots https://nginxproxymanager.com/screenshots/

    • lvl@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I second that. Amazing easy to use, configure, supports (LetsEncrypt) certificates via DNS-01 challenge and integrates with ease with most DNS providers.

      Paired with authentication providers (keycloak, authelia, authentik), the “advanced” textbox lets you do forward proxying really easy, or customize your “basic proxy”.

      I’m not sure how many of these features are present in Traefik, it would be really nice if any of you know if any of these are easily supported in it:

      • Forward proxying
      • Custom rewrites (nginx internal; rewrites)
      • Unattended DNS-01 support with ACME (LetsEncrypt)
    • DarkwinDuck@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I used Traefik on my Docker stack and it’s pretty neat, though it took some time for me to get my head around how to configure it correctly.

      • Antik 👾@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Yeah seems like I was lucky to find what I needed on the first try. A colleague of mine was using Traefik but switched to NPM because it’s so easy to use.

    • d4nm3d@reddthat.com
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I’ve been using NPM for years… but since 2.10.3 broke SSL certificates and there’s been literally no interest from JC21 to fix the problem (there’s a PR ready to go) i’ve been forced to look elsewhere and have settled on caddy for now…

      • Mike@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        To be fair, the pull request was last week. It’s inconvenient but life/work balance.

        • d4nm3d@reddthat.com
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Agreed but it’s more the worry that it’s been broken for over 3 weeks and the dev(s) seems to have no interest in resolving it… to me that is a bad sign of things to come and projects being abandoned.

          If i’m incorrect and the devs have been vocal about the issue then please correct me and point me to where i should be looking.

          • Mike@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            1 year ago

            I’m not challenging you, so please don’t take of fence here but is the issue sincerely a ‘lack of interest’ or is it just that NPM is FOSS and the maintainer is bogged down with life? You could fork it and fix it.

            • d4nm3d@reddthat.com
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              It’s a very good question and of course… i could fork it and fix it using the PR… but then that would be it… I’m not experienced enough to even achieve that to be honest…

              My issue I guess is not so much with the fact that there is a problem… it’s with the fact that i can’t afford for my homelab to be down because it’s never fixed or takes time to fix… i appreciate all of this is free… i think i may of even donated at some point because i was so thankful it existed… but now it’s such an integral part of my and my families life that i cannot have something in my stack that isn’t going to be fixed rapidly.

              JC21 created an amazing product and if it’s fixed or V3 ever appears i’ll 100% check it out… but for now whilst it’s not as pretty… i have to fall back to caddy.

    • frap129@lemmy.maples.dev
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I used NPM for a very long time, but after I switched to podman, DNS name resolution for containers stopped working in NPM, they work fine in every other container. Switched to caddy and it’s okay, it only supports HTTP transports so I can’t use it as a gateway for my DoH/DoT server, but that’s not a huge deal. Once NPM works properly on podman I may switch back

    • eric@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I second NPM. As you mentioned it’s been very easy to use, but I also haven’t been trying to do anything complicated.

      I’ve never used load balancing so perhaps Caddy or Traefik is easier to use than NPM in that regard, but I wouldn’t know.

      • Jordan Jenkins@lemmy.wizjenkins.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Yes NPM is for basic reverse proxying, so one URL to one server. If you wanted to scale and load balance across multiple servers you’d need regular nginx with a text config file since you literally can’t configure a second or third server.

        And I’d still find that easier than Traefik, but maybe that’s just because I’ve been using Apache2 and nginx for like a decade at this point so it’s what I know.

  • poVoq@slrpnk.net
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    Nginx, because it works well and most open-source projects provide good examples for it when setting up things.

    • eight_byte@feddit.de
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Same for me. You need the read into the documentation a bit, but once you understand how it works its fairly easy.

  • Domi@lemmy.secnd.me
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    Traefik, because I can configure it with labels on my containers and don’t have to deal with the proxy config every time I add a new service.

    Used nginx for years but it’s starting to show the signs of its age, same as Apache did a few years before that.

  • privateger@lemmy.plasmatrap.com
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    nginx. Traefik is near unusable if you ever need something that isn’t dockerized. Caddy seems neat, but I miss some options you get with nginx.

    nginx is just… good in all aspects.

  • 360MustangScope@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 year ago

    Caddy, slapping essentially 2 lines into a config file and my reverse proxy is ready for my local network and websites? Can’t really beat that

    When it comes to some services though like my openwrt router, I do use Nginx since it’s far more likely to be available in some places

  • 1337@1337lemmy.com
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    Apache.

    I started my self hosted journey over a decade ago and from what I remember most of the guides were for apache so that’s what I learned. Over the years Ive added so much that to re-do everything would take down my stuff while I figure it out and I just haven’t found it worth it.

    Although it’s harder to keep it up these days, even setting up my Lemmy instance was a pain because nobody has apache guides anymore so you have to figure it out yourself

    • alcoholic_chipmunk@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Fellow Apachian! It’s how I learned how to make a reverse proxy initially and just never saw the point in learning something else (though to be fair haven’t had to make a reverse proxy recently).

  • Tyr3al@feddit.de
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    For me it’s traefik. It’s took me a while to get it working, but it’s actually really easy now. Setting up container access with labels is very convenient!

  • carlyman@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Went from Nginx (and I pushed it hard on others to use) to NPM to Traefik to Caddy. Caddy is just simple, easy setup for Certs, and integrates easily with Authelia.

  • grygon@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Caddy for general reverse proxy stuff, works like magic and makes certs, routing, etc just work.

    I also have a lot of my stuff subsequently reverse proxied behind Authentik for anything that shouldn’t be exposed to the public internet

    • overtinker@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I love that about Caddy as well, it just works!

      Do you know of any tool that can help me look at overall traffic that goes through it?

      Right now I am using Mullvad through gluetun to essentially route traffic to my services without opening ports on my router and I am just curious what sort of traffic is hitting my server seeing how (I hope) isolated my address seems to be (servicename.mydomain.tld:<random port recieved from mullvad port forwarding>)

      I will soon migrate this reverse proxy setup to a VPS since Mullvad will be sunsetting their port forwarding feature soon but I am still in need of a tool that can show me what sort of traffic goes through Caddy. Something like countries, IPs and services that they are trying to access as well as the request types.

      • Perhyte@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Do you know of any tool that can help me look at overall traffic that goes through it?

        I haven’t looked in detail at the Monitoring Caddy documentation page and haven’t used this myself, but apparently it can be configured to emit a bunch of metrics in Prometheus format.

        Something like countries, IPs and services that they are trying to access as well as the request types.

        Oh, for that kind of thing you’d need to parse the log files instead. GoAccess maybe?

  • Malin@omg.qa
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    HaProxy for most of the stuff and Nginx for very limited stuff. Or a combination between HaProxy and Nginx in some very special cases.