I already host multiple services via caddy as my reverse proxy. Jellyfin, I am worried about authentication. How do you secure it?

  • Dr. Moose@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    Tailscale is awesome. Alternatively if you’re more technically inclined you can make your own wireguard tailscale and all you need is to get a static IP for your home network. Wireguard will always be safer than each individual service.

  • dan@upvote.au
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    2 months ago

    Is it just you that uses it, or do friends and family use it too?

    The best way to secure it is to use a VPN like Tailscale, which avoids having to expose it to the public internet.

    This is what I do for our security cameras. My wife installed Tailscale on her laptop and phone, created an account, and I added her to my Tailnet. I created a home screen icon for the Blue Iris web UI on her phone and mentioned to her, “if the cameras don’t load, open Tailscale and make sure it’s connected”. Works great - she hasn’t complained about anything at all.

    If you use Tailscale for everything, there’s no need to have a reverse proxy. If you use Unraid, version 7 added the ability to add individual Docker containers to the Tailnet, so each one can have a separate Tailscale IP and subdomain, and thus all of them can run on port 80.

    • paequ2@lemmy.today
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      if the cameras don’t load, open Tailscale and make sure it’s connected

      I’ve been using Tailscale for a few months now and this is my only complaint. On Android and macOS, the Tailscale client gets randomly killed. So it’s an extra thing you have to manage.

      It’s almost annoying enough to make me want to host my services on the actual internet… almost… but not yet.

      • Lem453@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        I use plain wireguard on me phone, always on essentially with no issues. I wonder why tailscale app can’t stay open.

        • beerclue@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          Same, wireguard with the 'WG Tunnel" app, which adds conditional Auto-Connect. If not on home wifi, connect to the tunnel.

          • Lem453@lemmy.ca
            link
            fedilink
            English
            arrow-up
            0
            ·
            2 months ago

            I just stay connected to wireguard even at home, only downside is the odd time I need to chromecast, it needs to be shut off.

            • bonsai@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 months ago

              Can you add a split tunnel for just the Chromecast app (I presume that’s how it works idk I don’t use Chromecast) so that just that specific app always ignores your VPN?

  • skoell13@feddit.org
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    2 months ago

    My setup: Locally (all in docker):

    • JF for managing and local access
    • JF with read only mounted volumes that uses the network of my Wireguard client container
    • Wireguard client opening a tunnel to Wireguard server on VPS ** Ping container regularly doing pings to Wireguard Server so the connection stays up (didn’t manage it otherwise)

    VPS (Oracle Cloud free tier, also everything in docker):

    • Caddy as a reverse proxy with https enabled and geolocking (only certain countries are allowed to connect to)
    • fail2ban to block IPs that try to bruteforce credentials
    • Wireguard server

    Usernames are not shown in the frontend and have to be entered. Passwords are generated by a password manager and can’t be changed by the user.

    So my clients just get the URL of my reverse proxy and can access the read only JF through my Wireguard tunnel. Didn’t have to open any ports on my side. If someone is interested I can share the docker compose files later.

    Edit: Here the link to the setup description. Please tell me if something is not clear or you find an error. https://codeberg.org/skjalli/jellyfin-vps-setup

    • Enceladus@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      This seems like a developer/infrastructure level job, any dumb down step by step procedure to recommend?

      • skoell13@feddit.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months ago

        I am currently in the ptocess to document my docker fioes and upload them to codeberg with a readme, it takes a bit, will let you know once I am done

  • CapitalNumbers@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    So i’ve been trying to set this up this exact thing for the past few weeks - tried all manner of different Nginx/Tailscale/VPS/Traefik/Wireguard/Authelia combos, but to no avail

    I was lost in the maze

    However, I realised that it was literally as simple as setting up a CloudFlare Tunnel on my particular local network I wanted exposed (in my case, the Docker network that runs the JellyFin container) and then linking that domain/ip:port within CloudFlare’s Zero Trust dashboard

    Cloudflare then proxies all requests to your public domain/route to your locally hosted service, all without exposing your private IP, all without exposing any ports on your router, and everything is encrypted with HTTPS by default

    And you can even set up what looks like pretty robust authentication (2FA, limited to only certain emails, etc) for your tunnel

    Not sure what your use case is, but as mine is shared with only me and my partner, this worked like a charm

    • chriscrutch@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      I’m pretty sure that using Jellyfin over Cloudflare tunnels is against their TOS, just FYI. I’m trying to figure out an alternative myself right now because of that.

      • nk@thebrainbin.org
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        I just moved from that. I now have Traefik on aVPS with a Wireguard server that my home router connects to (Immich IP forwarded in the config of WG).

        • chriscrutch@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 month ago

          Thanks for mentioning. I ended up using a Tailscale funnel and everything is running swimmingly so far.

  • SplashJackson@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    3
    ·
    edit-2
    2 months ago

    Mostly via empty threats, but occaisonally I have had to whip out the soccer ball