So, here’s what I set up:
Docker with some containers behind Gluetun
Gluetun gives access to the local network so I can access the containers on my home network through http.
The only port I exposed to the internet is the 32400 for Plex.
I reach my home network remotely only through Wireguard, my fritzbox router has a guided setupt that gives me a wg configuration so I just scanned the QR code with my phone. I learned this opens the default wg port.
Now, you can never be 100% safe, but is my simple setup safe/solid enough?
9 times out of 10 I thinker with it when I am at home
It’s still a work in progress and I am open to any kind of suggestions
If you use WireGuard for local access, I don’t think you need to open any port on your firewall, unless you are sharing your plex with other people that do not have access via WireGuard. But I know just enough to get me in trouble, so I’m sure I’ll be corrected on this.
90% sure wireguard (the VPN server) is going to need an open port if you want to connect from the outside.
This is correct. But the port wont reply to anything but a valid client, so it should not be too apparent to a would-be attacker that you have a port open at all.
One thing that was recommended to me by someone a while ago, is that, unless you need it for something specific, mount your media in Plex as read only.
Plex has functions where you can delete content from the library from their UI. If you need that for some reason, obviously don’t make it read only. If you’re hoarding the data, and therefore never delete it, or use an external system for deleting files, then RO all the way.
The only caveat to this is if you’re using a local disk on the Plex system, which then shares out the drive/folder for adding new content, in which case, you’re screwed. It has to be rw so the OS can add/remove data.
In my case, as I think may be common (or at least, not rare), my back end data for Plex Media is on a NAS, so it’s easy to simply have the system running Plex, mount that network share as RO, and you’re done. The data on the NAS can be accessed and managed by other systems RW, direct to the NAS.
Since Plex is exposed to the internet, if anyone with sufficient rights is compromised, in theory, an attacker could delete the entire contents of your media folder with it. If you limit RW access to internal systems only, then that risk can be effectively mitigated.
Not really directly answering your question here so feel free to ignore me. But if I’m understanding right your setup sounds like a more complicated way of doing what I am.
I put tailscale on all my devices. And in every docker compose for the ports I do. TailscaleIP:hostport:containerport
So nothing can be access on local network at all. Only through tailscale. Which I can access from any of my devices locally or remotely without opening a port. All E2E encrypted I’m pretty sure. The only con is having to trust tailscale.
I do keep Plex port open for friends though.