In their comments to a recent post that I made, asking people to share their torrenting ratios, some folks were talking about how they have setup media servers for their parents. This sounded really cool and I would like to do the same thing for my family.

I simply mount my torrenting drives with sshfs and consume media with mpv, because I don’t need anything else. But for my technologically less inclined family members, I guess setting up something with a GUI would be kind and nice.

I am torrenting on a VPN router, behind which there is a switch that only switches a specific port - which I rotate regularly for safety - to a public facing router, so that I can ssh into my home network.

Questions:

  • I have no experience with or knowledge of these to me fancy sounding GUI projects. For instance, do my family members create accounts that I then approve? Do I need to install and setup something on their endpoints (for instance, to configure which port to use, etc.) or is it simple enough for the layperson to do this themselves?
  • Will the fancy stuff accept and be accessible with port forwarding from my public facing router to my VPN router and then into my torrenting rig just like my ssh server does or am I going to have to set this up directly connected to the public facing router?

Please give me your most straightforward recommendations! 🥰

  • cheeso@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 days ago

    Jellyfin

    to answer your questions (to the best of my knowledge):

    Who creates accounts: You create the accounts and give it to them, simple admin dashboard

    How access works: its a web server, you configure listening port, that goes through your public facing router to your vpn router then to your torrenting rig that is hosting jellyfin once you can access it, everyone else with access to thr public facing router can by simply entering the ip:port or domain.

    There are also clients for some devices, iOS needs a little work last i heard (a few years ago) Android is good to go TVs it depends, some have some dont They connect the same way through ip:port and then login

    Rotating ports might be a pain, as you have to input the server ip:port then login on the client every time that changes, if i were you i would setup nginx/nginx proxy manager or something to keep my ports local and put only nginx at the front.

    it handles my anime, tv show, movie, and music collection pretty well, I have tens of thousands of songs, thousands of episodes, hundreds of shows.

    Now to the issues; most recently playlists (as in i faced the issue yesterday), theyre finicky as fuck if you want to migrate from the instance they were created on to a new one.

    Performance, the ui lags (usually when managing watched status or editing large numbers of items) I saw their focus for v12 was performance so that might change

    jellyfin mpv shim (if you want to use mpv on desktop) sometimes just stacks everything you click, so you want to seek forward? no, it waits until something then replays all your seek commands

    I havent tried Plex nor Emby, but I heard Plex handles remote sharing so you can access your server from outside the home network, but they have an expensive sub/lifetime payment.

    • printf("%s", name);@piefed.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      12 hours ago

      Thanks for all the detailed and on-point answers! All right, I won’t rotate ports with Jellyfin. The Jellyfin website discourages from directly opening up ports anyway, encouraging to use a proxy, but I don’t want to be leaving logs…

      I don’t quite understand how that nginx solution would work (from lack of experience). Does it mean that I would be opening a domain and port of that nginx server to the public instead of my Jellyfin? And then have the nginx server forward connections to Jellyfin?

      • cheeso@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 hours ago

        Youre welcome. I assume there should be a way to stop nginx logs getting generated, or at least make a script to automatically delete them

        I may have misunderstood how you had your ports open, do you have them open locally and accessed through your wireguard private network? if so, and you dont mind having others connect to your wireguard server, then youre good to go.

        Nginx explained:

        let me clarify what nginx and nginx proxy manager are, nginx is the proxy service, nginx proxy manager is nginx with a web dashboard for configuration

        as I understand proxy services, they open ports 80 and 443 i think, which are for http and https respectively

        from that you can redirect traffic to any local service nginx has access to

        you need to host nginx proxy manager on a server and forward http/s and certificate ports (or maybe just http/s) to the server, the server needs local access to jellyfin

        you also need a domain to easily get https encryption with letsencrypt, i recommend duckdns

        open port:

        client > ip:port > your open router > your vpn router > jellyfin

        direct access, no filters, no encryption (unless you make your own certs which you need to trust on each client or have all connections from client to server go through wireguard)

        nginx/nginx proxy manager:

        (subdomain is how nginx knows where or which local ip:port to send incoming traffic)

        client > https://subdomain.domain.duckdns.org/ > public network nginx > local network jellyfin

        no direct access, nginx filters, encryption

        so only a few open ports, lead to as many local services as you want