I’ve been dabbling with selfhosting for a bit now (home assistant and nextcloud), but it’s clear that I lack a fundamental understanding of networking. For example:

  • I’ve got OpenWRT on my router, but no idea what I’m doing when it comes to firewall settings, DNS, DHCP, etc.
  • I’ve got a domain thru Porkbun, but no idea how to properly setup my DNS settings there to route to my local machine.
  • I’ve got NGINX running in a docker container in a VM and can get to the UI on my local network, but no idea what I’m doing wrong with my attempts at a reverse proxy.

Does anyone here have links to a good in-depth tutorial series for learning about securely selfhosting?

  • Alphane Moon@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    11 hours ago

    I am relatively sophisticated on LAN/local services (been running Raspberry Pi since 2018 or so), I was never able to setup a reverse proxy to get a true self-hosted system (i.e. remote access); got roadblocked by nginx and setting up letsencrypt with reverse proxy support.

    In general, true remote access is IMO exponentially more difficult and demanding than getting things running on your local network.

    For anyone starting out with self-hosting, I would strongly recommend LAN/local services where you can relatively easily deploy multiple very useful and powerful services (SMB/NAS, Jellyfin, Pi-hole, Qbittorrent-Nox).

    I would suggest looking into DietPi, it’s IMO the best RaspberryPi/SBC distribution there is if you want things to just work and not bug you. Very helpful developers and community too. Excellent, user friendly CLI management tools for headless operation.

    • Derpgon@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 hours ago

      You basically never want to expose your local network to the internet. The most secure and simple way are either Tailscale or WireGuard combined with a VPS that is exposed to the internet and takes all the beating.

      • mic_check_one_two@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        2 hours ago

        Yeah, the primary reason people end up exposing things to the internet is because of friends and family. I can call my tech-illiterate “anything more difficult than logging into Facebook has her throwing up her hands in defeat, saying it is too hard, and tech is just too complicated these days” mother-in-law and walk her through setting up Plex… But that only works because Plex is exposed to the internet. If I had to walk her through setting up Tailscale on her living room TV before she could connect, it would be a non-starter.

      • Alphane Moon@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 hours ago

        This what I was trying to setup when I first started (with Nginx, domain and free tier version of Google Cloud). I wasn’t able to get it all running with Nginx and HTTPS.

        • LycaKnight@infosec.pub
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          9 hours ago

          I use Tailscale and Nginx Proxy Manager. Very easy to get it running. I use DNS Challenge with my Domain Provider. The Domain points to my Tailscale IP. So I don’t need to open anything.

          • Derpgon@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 hours ago

            I use a similar setup with Traefik instead of Nginx PM, and Headscale instead of Tailscale. It is almost the same kind of setup.