Thanks to this community I’ve learned and I’m feeling inspired. I’ve loved having an NAS for the last few years, but it’s woefully under powered for what I’m using it for these days.

So I’ve ordered some basic PC parts, gonna build a basic setup using an old CPU I got lying about and try the NAS OS I saw talked about on here recently.

TrueNAS looks like a good option with only slight fears it’ll go down the well known path to the dark side like so many free options before.

In any event, I’m looking forward to adding Nextcloud and Jellyfin, to trying out Docker and generally having more control over things.

Thanks again to you all for informing and inspiring.

I’ll be back if I get questions!

  • _____@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    What’s the self hosted guide to security when opening up ports to the public ?

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 hours ago

      Don’t

      No need to worry about it if you don’t take the risk. The internet is constantly being scanned by bots.

    • dan@upvote.au
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      1 day ago

      Don’t. Use a VPN like Tailscale or Wireguard. Tailscale uses the Wireguard protocol but it’s very easy to configure, and will automatically set up a peer-to-peer mesh network for you (each node on the VPN can directly reach any other node, without having to route through a central server).

      The only things that should be exposed publicly are things that absolutely need to be - for example, parts of Home Assistant need to be publicly exposed if you use the Google Assistant or Alexa integrations, since Google and Amazon need to be able to reach it.

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 hours ago

        One thing to note: the NAT traversal doesn’t always work especially for symmetric NAT. If you want reliable p2p connections I would setup IPv6

        • dan@upvote.au
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          11 hours ago

          Tailscale has several NAT bypass / hole punching methods for double NAT (including CGNAT) and symmetric NAT, but they don’t work in 100% of cases. https://tailscale.com/blog/how-nat-traversal-works

          IPv6 is definitely a good solution since then you don’t have to deal with NAT at all. IPv6 is pretty easily doable in the USA (at long as you’re not using Starlink) but can be harder in other countries that don’t have as robust IPv6 infrastructure.

    • Trimatrix@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      Use tailscale for host nodes, use tailscale docker container in a compose stack with an app that you sidecar to. That way that app is on your tailnet as if it is its own computer. Use tailscale serve for reverse proxying support of the apps. Then, setup a vps node (I use linodes $5 node) with tailscale and configure that to be your DMZ into your tailnet.

      For DMZ, use Caddy, UFW, and fail2ban. Also take advantage of ACLs in the Tailscale admin console to only have the VPS able to route traffic to specific apps you want to expose. My current project is to work in Authelia into this setup so a user logs into one exposed app and is able to traverse to other exposed apps through header / token authentication.

      Oh also, segment the tailnet using different authentication keys. Each host node should have its own key, all the apps on a host node should have a shared key, and all public facing clients should have a common shared key. That way in case of compromise you can revoke the affected keys without bringing down your network.

    • yaroto98@lemmy.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      Basically not to. Open one for a VPN like Wireguard to accept incoming connections, and that’s it. Use the VPN to connect to your home network and access your services that way.