I have a Jellyfin server, NextCloud instance, etc that I share with friends and family. Currently, I serve them over the open-internet using Cloudflare tunnels. Obviously this has some security implications that I don’t love. Also recently one of my domains got flagged as malicious by google and now Chrome browsers won’t go to the site - annoying.
I use Tailscale already to access my server infra remotely, but honestly I don’t see this as a viable option for my non-technical friends and family. Plus, I need to support all kinds of devices like smart tvs. How do you fine folks deal with this issue?
I haven’t tried this yet I’ve only read about it. You can add an authenticator app + reverse proxy in front of HTTP services like Jellyfin. The combination Authelia + Traefik is often mentioned. When the person tries to open up the Jellyfin web app they see an Authelia screen asking for username + password, which when provided goes away and whitelists their public IP for a configurable time period. They don’t have to input the user+pass on the TV, they can visit the Jellyfin web app on their phone or laptop, then it will work for all devices behind that public IP. This would allow things like TV sets or Chromecast to work transparently.
I use Authentik for SSO, and I think it has some reverse-proxy features built into it. This would be a really interesting idea, I’ll look into it. Thanks!
I was just reading the Authentik docs the other day, it can do what I described above in a very similar way. It handles the authentication part and delegates the reverse proxy to an actual proxy (nginx, traefik, caddy, envoy etc.) They call it forward authentication.
I’ll probably look more into Authentik as well because I’d also like to set up my own Identity Provider (for Tailscale and other things).