Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

agnos.is Forums

  1. Home
  2. Selfhosted
  3. Jellyfin over the internet

Jellyfin over the internet

Scheduled Pinned Locked Moved Selfhosted
selfhosted
263 Posts 144 Posters 1 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • wreckedcarzz@lemmy.worldW [email protected]

    This isn't a guide, but any reverse proxy allows you to limit open ports on your network (router) by using subdomains (thisPart.website.com) to route connections to an internal port.

    So you setup a rev proxy for jellyfin.website.com that points to the port that jf wants to use. So when someone connects to the subdomain, the reverse proxy is hit, and it reads your configuration for that subdomain, and since it's now connected to your internal network (via the proxy) it is routed to the port, and jf "just works".

    There's an ssl cert involved but that's the basic understanding. Then you can add Some Other Services at whatever.website.com and rinse and repeat. Now you can host multiple services, without exposing the open ports directly, and it's easy for users as there is nothing "confusing" like port numbers, IP addresses, etc.

    S This user is from outside of this forum
    S This user is from outside of this forum
    [email protected]
    wrote last edited by
    #82

    So I’m another newbie dummy to reverse proxies. I’ve got my jellyfin accessible at jellyfin.mydomain.com but I can only access it through the web. How do I share with other people who want to use the apps? I can’t get my apps to find my instance.

    pory@lemmy.worldP 1 Reply Last reply
    0
    • G [email protected]

      Exactly this !

      E This user is from outside of this forum
      E This user is from outside of this forum
      [email protected]
      wrote last edited by
      #83

      lemm.ee :'''(

      0 G 2 Replies Last reply
      5
      • I [email protected]

        What's the point of authentik when Jellyfin already has authentication?

        alk@sh.itjust.worksA This user is from outside of this forum
        alk@sh.itjust.worksA This user is from outside of this forum
        [email protected]
        wrote last edited by [email protected]
        #84

        While technically not strictly necessary, it adds more robust authentication methods, and makes it easier to build out other apps if you want to in the future without having to re-do the sign-in process for all of your users. You can have things like 2fa and other things that make it harder for bots to get in and easier for users to stay in. It also makes it easier to keep track of login attempts and notice compromised accounts.

        Edit: There are also alternatives like authelia that may be easier to implement. I don't really trust most web apps to be ultra secure with internet-facing sign-in pages so it just feels like "good practice" to hide behind an auth service whose sole purpose is to be written and built securely. Plus once you learn how to set up fail2ban with an auth service, there will be no need to re-learn or re-implement it if you add a 2nd app/service. Very modular and makes testing and adding new things much easier.

        Another benefit is that it has a nice GUI. I can look at logins, add services, stuff like that without touching config files which will be nice for those who don't like wading through text files to change config.

        I 1 Reply Last reply
        0
        • H [email protected]

          Nice, but the bots may not understand the joke.

          And not only that but they will tag the domain with ”there is something here”, and maybe some day someone will take a closer look and see if you are all up-to-date or would there maybe be a way in. So better to just drop everything and maybe also ban the IP if they happen to try poke some commonly scanned things (like /wp-admin, /git, port 22 etc.) GoAccess is a pretty nice tool to show you what they are after.

          alk@sh.itjust.worksA This user is from outside of this forum
          alk@sh.itjust.worksA This user is from outside of this forum
          [email protected]
          wrote last edited by
          #85

          Yeah that's a good point. The joke is mostly for my own enjoyment or any random user who happens to forget the jellyfin. subdomain.

          I have had a few hits to /wp-admin, but cloudflare actually blocks those for me (I don't use a tunnel but I do use them for the domain name which helps a bit). I might just shut down the main page then.

          1 Reply Last reply
          0
          • jraccoon@discuss.tchncs.deJ [email protected]

            I see everyone in this thread recommending a VPN or reverse proxy for accessing Jellyfin from outside the LAN. While I generally agree, I don't see a realistic risk in exposing Jellyfin directly to the internet. It supports HTTPS and certificates nowadays, so there’s no need for outside SSL termination anymore. (See Edit 2)

            In my setup, which I've been running for some time, I've port-forwarded only Jellyfin's HTTPS port to eliminate the possibility of someone ending up on pure HTTP and sending credentials unencrypted. I've also changed the Jellyfin's default port to a non-standard one to avoid basic port-scanning bots spamming login attempts. I fully understand that this falls into the security through obscurity category, but no harm in it either.

            Anyone wanna yell at me for being an idiot and doing everything wrong? I'm genuinely curious, as the sentiment online seems to be that at least a reverse proxy is almost mandatory for this kind of setup, and I'm not entirely sure why.

            Edit: Thank you everyone for your responses. While I don't agree with everything, the new insight is appreciated.

            Edit 2: I've been informed that infact the support for HTTPS will be removed in a future version. From v10.11 release notes:

            Deprecation Notice: Jellyfin’s internal handling of TLS/SSL certificates and configuration in the web server will be removed in a future version. No changes to the current system have been made in 10.11, however future versions will remove the current system and instead will provide advanced instructions to configure the Kestrel webserver directly for this relatively niche usecase. We strongly advise anyone using the current TLS options to use a Reverse Proxy for TLS termination instead if at all possible, as this provides a number of benefits

            D This user is from outside of this forum
            D This user is from outside of this forum
            [email protected]
            wrote last edited by
            #86

            Anyone wanna yell at me for being an idiot and doing everything wrong?

            Not yell, but: Jellyfin is dropping HTTPS support with a future update so you might want to read up on reverse proxies before then.

            Additionally, you might want to check if Shodan has your Jellyfin instance listed: https://www.shodan.io/

            jraccoon@discuss.tchncs.deJ 1 Reply Last reply
            11
            • T [email protected]

              What’s your go too (secure) method for casting over the internet with a Jellyfin server.

              I’m wondering what to use and I’m pretty beginner at this

              thenose@lemmy.worldT This user is from outside of this forum
              thenose@lemmy.worldT This user is from outside of this forum
              [email protected]
              wrote last edited by
              #87

              I just use tailscale.
              I am thinking about external share options but for me and my closests just plain simple tailscale

              1 Reply Last reply
              1
              • T [email protected]

                That’s probably this type of setup I would want but I miss the technical know how, so if you have a cool beginner guide

                alk@sh.itjust.worksA This user is from outside of this forum
                alk@sh.itjust.worksA This user is from outside of this forum
                [email protected]
                wrote last edited by [email protected]
                #88

                Here is the video I followed for SWAG. Note that this (and most of IBRACORP's guides, which are all fantastic) uses Unraid as the OS, which automates a lot of the processes.

                https://youtu.be/N7FlsvhpVGE

                And here is a written guide by the same group to go with or replace the video if this is more your speed: https://docs.ibracorp.io/swag-2/

                I'll be honest, even for "beginners" (which I was when I started this) this is still a lot to take in. Let me know if you run into any specific questions and I can try to help you.

                1 Reply Last reply
                0
                • alk@sh.itjust.worksA [email protected]

                  While technically not strictly necessary, it adds more robust authentication methods, and makes it easier to build out other apps if you want to in the future without having to re-do the sign-in process for all of your users. You can have things like 2fa and other things that make it harder for bots to get in and easier for users to stay in. It also makes it easier to keep track of login attempts and notice compromised accounts.

                  Edit: There are also alternatives like authelia that may be easier to implement. I don't really trust most web apps to be ultra secure with internet-facing sign-in pages so it just feels like "good practice" to hide behind an auth service whose sole purpose is to be written and built securely. Plus once you learn how to set up fail2ban with an auth service, there will be no need to re-learn or re-implement it if you add a 2nd app/service. Very modular and makes testing and adding new things much easier.

                  Another benefit is that it has a nice GUI. I can look at logins, add services, stuff like that without touching config files which will be nice for those who don't like wading through text files to change config.

                  I This user is from outside of this forum
                  I This user is from outside of this forum
                  [email protected]
                  wrote last edited by
                  #89

                  Can authentik pass through the authentication to Jellyfin, or do you just log in twice?

                  alk@sh.itjust.worksA 1 Reply Last reply
                  0
                  • I [email protected]

                    Can authentik pass through the authentication to Jellyfin, or do you just log in twice?

                    alk@sh.itjust.worksA This user is from outside of this forum
                    alk@sh.itjust.worksA This user is from outside of this forum
                    [email protected]
                    wrote last edited by [email protected]
                    #90

                    It can pass through. There is even an official Authentik guide on the various methods specifically for Jellyfin: https://integrations.goauthentik.io/integrations/services/jellyfin/

                    Same with Authelia, though I don't have a link for that on hand.

                    1 Reply Last reply
                    1
                    • B [email protected]

                      I have had Jellyfin directly open to the Internet with a reverse proxy for years. No problems.

                      P This user is from outside of this forum
                      P This user is from outside of this forum
                      [email protected]
                      wrote last edited by [email protected]
                      #91

                      If your reverse proxy only acknowledges jellyfin exists if the hostname is correct, you won't get discovered by an IP scanner.

                      Mine's on jellyfin.[domain].com and you get a completely different page if you hit it by IP address.

                      If it does get found, there's also a fail2ban to rate-limit someone brute-forcing a login.

                      I've always exposed my home IP to the internet. Haven't had an issue in the last 15 years. I'm running about 10 public-facing services including NTP and SMTP.

                      douglasg14b@lemmy.worldD 1 Reply Last reply
                      1
                      • T [email protected]

                        What’s your go too (secure) method for casting over the internet with a Jellyfin server.

                        I’m wondering what to use and I’m pretty beginner at this

                        B This user is from outside of this forum
                        B This user is from outside of this forum
                        [email protected]
                        wrote last edited by
                        #92

                        Cheap VPS with Pangolin for Wireguard and reverse proving through the tunnel.

                        1 Reply Last reply
                        4
                        • cm0002@lemmy.worldC [email protected]

                          Also run the reverse proxy on a dedicated box for it in the DMZ

                          P This user is from outside of this forum
                          P This user is from outside of this forum
                          [email protected]
                          wrote last edited by
                          #93

                          Honestly you can usually just static ip the reverse proxy and open up a 1:1 port mapping directly to that box for 80/443. Generally not relevant to roll a whole DMZ for home use and port mapping will be supported by a higher % of home routing infrastructure than DMZs.

                          1 Reply Last reply
                          0
                          • T [email protected]

                            What’s your go too (secure) method for casting over the internet with a Jellyfin server.

                            I’m wondering what to use and I’m pretty beginner at this

                            xnx@slrpnk.netX This user is from outside of this forum
                            xnx@slrpnk.netX This user is from outside of this forum
                            [email protected]
                            wrote last edited by
                            #94

                            Tailscale

                            1 Reply Last reply
                            9
                            • jraccoon@discuss.tchncs.deJ [email protected]

                              I see everyone in this thread recommending a VPN or reverse proxy for accessing Jellyfin from outside the LAN. While I generally agree, I don't see a realistic risk in exposing Jellyfin directly to the internet. It supports HTTPS and certificates nowadays, so there’s no need for outside SSL termination anymore. (See Edit 2)

                              In my setup, which I've been running for some time, I've port-forwarded only Jellyfin's HTTPS port to eliminate the possibility of someone ending up on pure HTTP and sending credentials unencrypted. I've also changed the Jellyfin's default port to a non-standard one to avoid basic port-scanning bots spamming login attempts. I fully understand that this falls into the security through obscurity category, but no harm in it either.

                              Anyone wanna yell at me for being an idiot and doing everything wrong? I'm genuinely curious, as the sentiment online seems to be that at least a reverse proxy is almost mandatory for this kind of setup, and I'm not entirely sure why.

                              Edit: Thank you everyone for your responses. While I don't agree with everything, the new insight is appreciated.

                              Edit 2: I've been informed that infact the support for HTTPS will be removed in a future version. From v10.11 release notes:

                              Deprecation Notice: Jellyfin’s internal handling of TLS/SSL certificates and configuration in the web server will be removed in a future version. No changes to the current system have been made in 10.11, however future versions will remove the current system and instead will provide advanced instructions to configure the Kestrel webserver directly for this relatively niche usecase. We strongly advise anyone using the current TLS options to use a Reverse Proxy for TLS termination instead if at all possible, as this provides a number of benefits

                              P This user is from outside of this forum
                              P This user is from outside of this forum
                              [email protected]
                              wrote last edited by
                              #95

                              It's difficult to say exactly what all a reverse proxy adds to the security conversation for a handful of reasons, so I won't touch on that, but the realistic risk of exposing your jellyfin instance to the internet is about the same as handing your jellyfin api over to every stranger globally without giving them your user account or password and letting them do whatever they'd like for as long as they'd like. This means any undiscovered or unintentional vulnerability in the api implementation could easily allow for security bypass or full rce (remote code execution, real examples of this can be found by looking at the history of WordPress), but by siloing it behind a vpn you're far far far more secure because the internet at large cannot access the apis even if there is a known vulnerability. I'm not saying exposing jellyfin to the raw web is so risky it shouldn't be done, but don't buy into the misconception that it's even nearly as secure as running a vpn. They're entirely different classes of security posture and it should be acknowledged that if you don't have actual use for internet level access to jellyfin (external users, etc, etc) a vpn like tailscale or zero tier is 100% best practice.

                              1 Reply Last reply
                              9
                              • M [email protected]

                                Is Nginx Proxy Manager running on the VPS itself and then the proxy routes across the wireguard to your home server? Or is the VPS just port forwarding to your home server which runs the proxy?

                                G This user is from outside of this forum
                                G This user is from outside of this forum
                                [email protected]
                                wrote last edited by
                                #96

                                My goal was to have no ports exposed on my home network so the proxy is on the VPS. My home server connects over wireguad to the vps, then all the traffic is routed over wireguard to the home server which only listens on wireguard.

                                1 Reply Last reply
                                1
                                • T [email protected]

                                  What’s your go too (secure) method for casting over the internet with a Jellyfin server.

                                  I’m wondering what to use and I’m pretty beginner at this

                                  A This user is from outside of this forum
                                  A This user is from outside of this forum
                                  [email protected]
                                  wrote last edited by
                                  #97

                                  I use a cloudflare tunnel, ISP won't give me a static IP and I wanna keep my firewall locked down tight.

                                  A 1 Reply Last reply
                                  4
                                  • T [email protected]

                                    I was just trying to get a setup like this going yesterday. I used standard Wiregaurd and got that working between the VPS and home server, but I was trying to set up Caddy as a reverse proxy to direct the incoming traffic through the WG VPN to my services. I wasnt able to figure it out yesterday. Everyone online says Caddy is so simple, but I'm such a noob I just have no idea what it's doing or how to troubleshoot.

                                    no_bark@lemmy.dbzer0.comN This user is from outside of this forum
                                    no_bark@lemmy.dbzer0.comN This user is from outside of this forum
                                    [email protected]
                                    wrote last edited by
                                    #98

                                    I've also really struggled with Caddy despite everyone saying its so simple. I'm pretty new to all this, but I had better luck with Traefik - I now actually have a reverse proxy up and running correctly, which I haven't been able replicate with Caddy.

                                    Traefik labels make sense to me in a way Caddy does not.

                                    T 1 Reply Last reply
                                    1
                                    • T [email protected]

                                      I was just trying to get a setup like this going yesterday. I used standard Wiregaurd and got that working between the VPS and home server, but I was trying to set up Caddy as a reverse proxy to direct the incoming traffic through the WG VPN to my services. I wasnt able to figure it out yesterday. Everyone online says Caddy is so simple, but I'm such a noob I just have no idea what it's doing or how to troubleshoot.

                                      G This user is from outside of this forum
                                      G This user is from outside of this forum
                                      [email protected]
                                      wrote last edited by [email protected]
                                      #99

                                      I havent tried with caddy but i might be able to help you get it working if you wanna chat some time. My contact info is on my website.

                                      1 Reply Last reply
                                      1
                                      • no_bark@lemmy.dbzer0.comN [email protected]

                                        I've also really struggled with Caddy despite everyone saying its so simple. I'm pretty new to all this, but I had better luck with Traefik - I now actually have a reverse proxy up and running correctly, which I haven't been able replicate with Caddy.

                                        Traefik labels make sense to me in a way Caddy does not.

                                        T This user is from outside of this forum
                                        T This user is from outside of this forum
                                        [email protected]
                                        wrote last edited by
                                        #100

                                        I appreciate this response. I'll try booting up traefik later.

                                        I think Caddy just abstracts things to such a great degree that if you dont already know what it's supposed to do, it's harder to learn what you're doing with it. I'm sure plenty of others have stepped right up and loved the "two line config" without already understanding the basics, but it's not clicking for me.

                                        1 Reply Last reply
                                        1
                                        • O [email protected]

                                          Nginx in front of it, open ports for https (and ssh), nothing more. Let's encrypt certificate and you're good to go.

                                          S This user is from outside of this forum
                                          S This user is from outside of this forum
                                          [email protected]
                                          wrote last edited by
                                          #101

                                          Why would you need to expose SSH for everyday use? Or does Jellyfin require it to function?

                                          Maybe leave that behind some VPN access.

                                          W O 2 Replies Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups