Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I run a homelab, and also run a shared server for a few folks.

The hardware is easy. The software can be easy (if you let it). The things that are tricky:

1. Getting different software to all play nicely from the users perspective. I can't even give my users SSO because most software doesn't accept reverse proxy authentication!

2. The gap in average computer skills. Some of my users are engineers, most of them are not. My average user needs help with password resets, remembering URLs and very basic tasks. "Upload a file" is a _difficult_ task for the average user.

3. Feature requests and keeping maintenance reasonable. A lot of my technical users will ask me for feature after feature.. but not put in any time or effort to set things up or maintain. I'm one person and I set a hard cap of how much maintenance I'll do in a week, and that is a big limiter of stuff.

I have toyed with just charging my users a bit per month and hiring someone as a basic tech, and honestly more of my users would rather pay a monthly fee than actually work on the servers themselves.



> 1. Getting different software to all play nicely from the users perspective. I can't even give my users SSO because most software doesn't accept reverse proxy authentication!

It sounds like you're referring to something specific here but I'm not understanding. What kind of software doesn't play well with SSO? And what is reverse proxy authentication? Do you mean give users SSO as in give them an account on an SSO system like Google/Okta/LDAP or do you mean use SSO as authentication for a web app you're running? Even if in the latter case I still don't understand what you mean by reverse proxy authentication or what that has to do with SSO. (I've set up SSO on my apps before and I've run SSO auth servers.)


SSO is short for single sign on. It means users have only a single login across all the parts of the system. That can be something like "Login with Google" or it can be they just have a single local user account that works everywhere.

A really efficient way to make SSO work is to allow a reverse proxy to do all the work. A reverse proxy is a webserver (such as nginx or traefik) which receives all incoming requests and then hands them off to the correct bit of software, such as Plex or Heimdall.

Reverse proxies do lots of things but they help glue different pieces of software together. It allows you to have "http://plex.example.com" and "http://heimdall.example.com" on the same server as a for instance.

You can also have the reverse proxy handle authentication. Users get redirected to sign in if they don't have the right cookie and when the proxy forwards their request it includes headers that give the username, email, etc to the underlying software.

This way instead of both Plex and Heimdall having to support a bunch of different sign in options, user management, password resets, etc all that is done by the reverse proxy. Your software just has to trust the reverse proxy and get it's data from the headers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: