Currently my home server runs a few services that have a web UI. I currently access them by typing in the IP address and port number, but it’s now starting to get annoying to remember the ports.

What’s the best way to handle this?

I’ve thought of two solutions:

  1. I’m running a local DNS server, so I probably would be able to make CNAMEs from something like adguard.server.local to the IP, and do a reverse proxy with something like Caddy
  2. Maybe there’s some unified dashboard app that is a reverse proxy with some simple frontend where I can just navigate to server.local and click a button to choose which specific service I want to see?

What are your opinions on this?

  • flunky@lemmy.flunky.club
    link
    fedilink
    English
    arrow-up
    25
    ·
    1 year ago

    A reverse proxy will achieve what you’re looking for, yes. I do precisely what you’re describing. I use “local DNS” on my pihole, with CNAMEs for each service pointing to my server IP address. I’m running Caddy on the server, specifically this (because my services are running in Docker containers): https://github.com/lucaslorentz/caddy-docker-proxy

    As far as a “dashboard” app, you have options there as well. I’m using Heimdall currently, but Homarr also looks pretty nice.

    • EpicMuch@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Is pihole alone enough to do the reverse proxy, or do you need caddy as well? I’m only somewhat familiar with how these things work

      • notdeadyet@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        1 year ago

        PiHole can’t specify specific ports for each cname, which is what you need a reverse proxy for.

        Typically, you create all of your cnames in pihole and direct them to your reverse proxy server IP. From your reverse proxy of choice, you specify each url to the specific ip:port of your service.

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

          How can I use my Pi-hole as DNS Server also over VPN? I run Wireguard on Unraid. And while the VPN works, I can’t seem to the DNS over VPN to go my way.

          • MangoPenguin
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            Set your VPN clients to use Pihole as their DNS server.

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

              Tried that, does not work. When I’m physically „in“ my LAN, my domains resolve correctly. Via VPN only IPs work.

              • MangoPenguin
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 year ago

                Why doesn’t it work? Do you get no response at all from the DNS server? Or just a null response like NXDOMAIN or some kind of lookup failed error?

                Is PiHoles DNS server set to listen on only your LAN subnet maybe?

                Firewall rule blocking VPN clients maybe?

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

                  Ah, right. Pi-hole only listens for the first jump. I was stupidly assuming that the VPN tunnel exit would be part of this.