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?

  • coffeetastesbadlikecoffee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    7 hours ago

    I was just in your exact Situation with my Jellyfin home server. I was using Tailscale for a while, but ran into a problem: my new server is really bad at encoding, so I can only use direct play, which uses more bandwidth than the tail scale relay servers can give.

    The problem with tail scale is, I basically only ever use the relay servers because my home is cgnat and most of the time when I want to stream outside of home I am on mobile data with cgnat or at college (restrictive firewall).

    My solution which I implemented last weekend was to buy the cheapest VPS I could get from my trusted provider and harden it and install nginx proxy manager and tailscale. With that, I can make a direct (no relay server) connection to my home server and proxy Jellyfin to a public domain.

    I am still figuring out how to secure Jellyfin, but I have also seen some comments that Jellyfin is secure by default and therefore ok to have exposed.

    Actually no, it is insecure, do not expose it to the internet. I will be adding separate authentication to access it via proxy.

  • dan@upvote.au
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    2
    ·
    edit-2
    16 hours ago

    There’s no reason your media server needs to be directly exposed to the public internet. Use Tailscale. Get everyone that uses it to sign up for a Tailscale account, and add them all to your Tailnet.

    Tailscale will perform better than a Cloudflare tunnel because it’s a direct connection between the two peers, whereas Cloudflare tunnels route through Cloudflare.

    Tailscale does have relay servers, but they’re only used in very rare cases, if both peers have very strict firewalls. Almost always, the connection between two peers over Tailscale is a direct connection, so there’s no extra latency (other than some small overhead for the encryption)

    You could use Wireguard and manually configure it to be in a mesh config, but Tailscale makes it so much easier. I’m a big fan of their product.

    • wia@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      Can tail scale be setup on tvs and game consoles and such? Or maybe on routers?

    • chriscrutch@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 hours ago

      I love Tailscale as well and it works flawlessly for everything I’ve ever used it for. However, I can’t install Tailscale on the Roku TV that sits remotely from my server. That’s the whole reason I’m looking for a different way.

    • Auli@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      12 hours ago

      Really no reason. Hmm how do I get a Roku to watch? Or get other people to watch stuff on it.

  • AnActOfCreation@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    ·
    15 hours ago

    get a VPS, run Tailscale and NPM on it and switch to Jellyfin

    Keep in mind that VPSs will charge for bandwidth, which adds up quickly when you’re streaming.

    One suggestion I haven’t seen mentioned is contacting your ISP. Sometimes you can get a dedicated IP, although you might have to pay for it.

    Alternatively you might just break down and pay for Plex Pass. I know that goes against the Lemmy philosophy to the very core, but for all its issues, Plex is still way ahead of Jellyfin in terms of features, UI/UX, etc. Jellyfin will get there, and I’m ready to switch the day that Plex becomes unusable, but that hasn’t happened yet.

  • SirMaple__@lemmy.ca
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    2
    ·
    edit-2
    21 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
      10
      arrow-down
      1
      ·
      18 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
      9
      arrow-down
      2
      ·
      edit-2
      17 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
      ·
      21 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
        ·
        4 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
        arrow-down
        1
        ·
        edit-2
        21 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.

  • wia@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    20 hours ago

    Wasn’t it brought up last week ina thread about Plex charging that it is NOT against cloudflare TOS anymore?