I have docker installed, but only have a vague idea of how it works.

Back in the day, I would just port forward, but even then, I would need a static IP somehow.

I have heard a reverse proxy is an option, but that is an entirely new topic to me.

Surely there is an easy way to access Jellyfin outside of my home network that I’m just missing.

*Edit: I am blown away by all the help and support! I currently have tailscale running, and I’m in the process of purchasing a domain.

Thanks everyone!

  • ohshit604@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 hours ago

    Device -> VPN Tunnel (ideally WireGuard) -> Home Router / Server.

    The only port that needs to be opened is your WireGuard server which typically is :51820.

    The issue with this is you have explain VPN’s and WireGuard to people which, in my experience turns people away as they see it as a hassle.

    Alternatively buy a domain, setup DDNS so that your home IP is associated with your domain, setup a reverse proxy and open port :443 on your router however, I would suggest a blacklist-first approach and only whitelist the few known IP’s you can trust.

  • pHr34kY@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    2
    ·
    edit-2
    4 hours ago

    You can still just open it to the internet. Just do it on IPv6 instead. You won’t find it by scanning IP ranges like they do on IPv4. You’ll want to set up DNS for it though. Also get a free TLS cert from LetsEncrypt. It’s a bit of work initially.

    • frongt@lemmy.zip
      link
      fedilink
      English
      arrow-up
      5
      ·
      3 hours ago

      Assuming their ISP and everything else supports ipv6. An even so it’ll still be visible through scanning, through brute force, or if anyone is reading cert transparency reports anf scanning the domains that show up.

    • mic_check_one_two@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      1 hour ago

      Was going to comment something along the lines of “Inb4 someone posts that obscurity will keep you secure” but here you are. No, you won’t be secure just because it’s on IPv6. And TLS certs are open to the public, (they literally have to be, since any device attempting to access your server needs to be able to validate the cert) so bots will scrape them and instantly have whatever you made it for. So it wouldn’t even keep you obscure.

  • chellomere@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 hours ago

    I use pangolin and subdomains on my domain. It works really well, and enables SSO login to all services on the network.

  • KairuByte@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    13
    ·
    6 hours ago

    Personally I didn’t want to have to hand out VPN credentials to everyone, so I went with a cloudflare tunnel with Authelia as the method of authentication.

  • alexquiniou@lemmy.zip
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 hours ago

    I’m using wireguard with wg-easy. It’s a gui that let you easely setup wireguard. My isp is giving a fixed ipv4. So i don’t have to think about dns or other complicated things. I have Jellyfin and wg-easy installed on truenas as docker apps.

    There are official app for any os you want.

    https://www.wireguard.com/install/

  • Croquette@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 hours ago

    I have setup NetBird with Authentik. Netbird is on a VPS and authentik on my home server.

    NetBird allows to expose a service through a subdomain. Or you can use the netbird client as a VPN and allow peer to peer connection.

  • Wilmo@programming.dev
    link
    fedilink
    English
    arrow-up
    60
    arrow-down
    2
    ·
    8 hours ago

    Tailscale. It’s free. Insanely easy to set up.

    Just install on your devices and connect via the given tailscale ip for the jellyfin server.

    • ragebutt@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      53 minutes ago

      Or head scale if you don’t want something you don’t control that requires an account with google/apple/microsoft

    • sakphul@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      21
      ·
      8 hours ago

      I would also propose going with Tailscale instead If a VPN + DynDNS solution. Imho it is a lot easier to Setup compared to VPN + DynDNS If you are a beginner and just starting out.

      If at some point you need more and then is available in the free Tier of Tailscale and you do not want to pay for it (and you have built up some knowledge!) you can switch to something like Headscale or Netbird.

      • hoshikarakitaridia@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 hours ago

        I forgot to mention that one because I kinda thought it belongs with radmin and hamachi, but it’s my choice as well currently.

        I am using it with my own Headscale though, so add a domain to that as well.

        And I finally need to switch my vaultwarden to work over tailscale & LAN finally, it’s a huge security risk to expose that one.

  • hoshikarakitaridia@lemmy.world
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    5 hours ago

    That’s the whole point of a domain. Your IP changes every now and again you need people to know where to reach you. You give them a domain, and you configure the name records so that the domain always points to the right IP address.

    Your options:

    • dynamic IP - you keep your setup as is and just periodically tell them the new IP you’re on. Annoying and exposed
    • static IP - you buy a static IP (from your ISP) and share it with your friends once. A little bit less annoying and still exposed
    • you use a VPN like hamachi or radmin - your friends install the software, they look for you IP in there, you’re done - very secure but also very annoying
    • you buy a domain - you have to configure an IP updater like ddclient or similar, then you jellyfin should be reachable - least annoying for your friends but also slightly less secure

    Domain is the cleanest option.

    I am telling you how annoying it is because that’s how likely your friends are to adopt it and how secure it is because depending on your country you are doing something illegal and you really don’t want anyone to find out and you gotta keep it updated more often if you don’t want people to exploit it. There’s an endless supply of very smart people out there who use known bugs to target public services.

    Edit: I forgot DDNS, see below comments.

    • Vegan_Joe@anarchist.nexusOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 hours ago

      I appreciate your response!

      It looks like a VPN is the option I’m leaning towards, but I’ll definitely put the idea of buying a domain in my back pocket for a while.

              • Saapas@piefed.zip
                link
                fedilink
                English
                arrow-up
                4
                ·
                6 hours ago

                You get to pick your numbers

                On June 1, 2017, .XYZ launched the 1.111B class .xyz domains, cheap domains priced at US$0.99 per year and renewed at the same price. The class of domains consists of six-, seven-, eight-, and nine-digit numeric combinations between 000000.xyz and 999999999.xyz. Daniel Negari, CEO of .XYZ, stated that it was meant to bring competition, choice, and innovation to the market

    • Pacrat173@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 hours ago

      It’s my go to method super easy to set up and use on both the device hosting your JellyFinn server and whatever your steaming on

      • djdarren@piefed.social
        link
        fedilink
        English
        arrow-up
        4
        ·
        5 hours ago

        Just be aware that if you want anyone else to connect to your Jellyfin, you’ll still have to route it through a domain and reverse proxy, unless you’re comfortable letting them log in to your tailnet.

        It’s a bit of a fiddle to set up, but once it’s done it’s quite satisfying.

      • Pika@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        6
        ·
        8 hours ago

        it’s actually the recommended way if you use jellyfin, theres a few security/privacy vulnerabilities with publicly exposing the jellyfin server anyway, they are being worked on but, the safest way to do it is just use a vpn regardless.

        • frongt@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 hours ago

          Plus it enables you to access everything. If you have radarr or sonarr or whatever, you can get to those and add media while out and about.

          Personally I use Mealie and pull up ingredient lists while I’m im at the grocery store.

    • MasterOKhan@lemmy.ca
      link
      fedilink
      English
      arrow-up
      6
      ·
      6 hours ago

      I second this, if it’s only you that needs access then Tailscale will be all that you need. You can use Tailscale funnel if you want it to be available to the wider web, but then you have to manage SSL certificates and it is slightly less secure.

      I would caution against port forwarding and leaving your server open to the wider web.

    • Vegan_Joe@anarchist.nexusOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 hours ago

      To be clear, your suggesting I set up my home computer as a virtual private Network server that I would connect to from the TV or device outside of my home network?

      • frongt@lemmy.zip
        link
        fedilink
        English
        arrow-up
        10
        ·
        8 hours ago

        Yes, it works great for me. Probably not for a TV though, for that you’d probably need some travel router VPN client. But I don’t know how often you’d be at a random TV and need to get to jellyfin.

      • towerful@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        7 hours ago

        Yeh, exactly.
        And the “dynamic DNS” part handles your public IP address changing with 0 pain.
        You either buy a domain (like example.com), or there are free domain name providers that give you a subdomain (like mycooldomain.example.com) of one of their domains.
        You then run an additional service on your home server that checks what the current public IP address is. If it changes, it notifies the DNS responsible for your domain/subdomain, which then points to your new public IP.
        To connect to your VPN, you only ever care about “mycooldomain.example.com” and never the underlying IP address.


        As long as your ISP isn’t running CG-NAT of course 😵‍💫

  • terrifyingtuba@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    edit-2
    7 hours ago

    Personally I purchased a domain, and use Caddy for a reverse proxy. My ISP gives me a static IP for free, but I don’t think that makes a difference in this situation. Tailscale would be safer but requires more setup from friends. My friends seem to like how simple the setup is, and I also use requestrr so they can add movies/shows via a discord command.