I have several services on my home server, most of which I access using Tailscale, and it works great. I had a couple services on Cloudflare tunnels in order to access them from devices that I can’t put Tailscale on.

Plex is going to start charging for remote access. So I figured now would be the time to migrate to Jellyfin. But using Jellyfin on Cloudflare tunnels is against their TOS. I have a Roku TV at a remote location that I use to watch Plex. I won’t be able to do that anymore. And I can’t put Tailscale on it to serve Jellyfin that way.

I was going to set up Nginx Proxy Manager to use my domain name for Jellyfin so I didn’t have to use Cloudflare tunnels. But in setting that up I found out that my ISP is double NATting me, and I haven’t been able to find a way around it.

So I’m left with two options: 1) buy Plex Pass so I can continue to stream remotely; or 2) get a VPS, run Tailscale and NPM on it and switch to Jellyfin.

I’m looking for a sanity check to make sure the VPS thing would work the way I think it would. If it’s running Tailscale then the double NAT would be a non-issue, correct? Is there another option that I haven’t thought of yet? Which of the two options would you choose?

  • SirMaple__@lemmy.ca
    link
    fedilink
    English
    arrow-up
    22
    ·
    edit-2
    19 hours ago

    Do not. I repeat do not expose Jellyfin to the internet. It has too many security issues to be directly accessible from the internet.

    I use Jellyfin and only access it over WireGuard. I have a mesh setup between the routers at a few family members houses.

    If you have absolutely no other way then to expose it to the internet you need to make sure that you whitelist only the approved IPs in your VPS firewall and block everything else.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      English
      arrow-up
      8
      ·
      16 hours ago

      I keep hearing claims that it’s not secure enough to be exposed on the Internet, but I can’t seem to find anything about unauthenticated vulnerabilities. It’s got a fair amount of CVEs but they all seem to affect when you’re an already authenticated user, mainly to XSS an admin as a regular user or the likes.

      It’s written in C#, and publicly all you can do is pretty much attempt to log in, this feels like it should be pretty sane compared to some other PHP crap I run.

      Do you have any examples of previous exploits or anything else to be concerned about?

    • kylian0087@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      15 hours ago

      I don’t really agree with you here. If you take the time to set things up properly. And prepare for IF something would happen. Your fine. Been running a exposed jellyfin server for years now. Never hat a security issue. And even if I would, not much harm could be done anyway due to how it is setup.

    • chriscrutch@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      19 hours ago

      Thanks for mentioning that. I’ll have to look into it. If I could install Tailscale on a RokuTV I’d absolutely run it that way.

      • ladfrombrad 🇬🇧@lemdro.id
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 hours ago

        I haven’t seen no one mention it yet but you could simply buy a Rasp Pi and use it as a subnet router for your Tailnet.

        It’s how I set up a family members Jellyfin/NAS/etc which I can access all their devices by local IP address, and you could do for your Roku too?

      • SirMaple__@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        19 hours ago

        No worries. Better than reading that someone got hacked because they left Jellyfin wide open

        You could even run a travel router, mini PC or Raspberry Pi, run the VPN on it, connect the Roku to it over the onboard WiFi adapter. On the PC/Pi you’d force all the traffic from the Roku towards Jellyfin over the tunnel. You could even define the Jellyfin in DNS (/etc/hosts) so the internet will never even know you’re running Jellyfin. Something like https://raspap.com/ or even a openwrt travel router from the likes of GL.iNet would work.