Hey guys, I’m running a simple docker compose server on an old laptop, hosting calibre(web), nextcloud and navidrome exposed on a cloudflare domain. Nextcloud allows 2fa, however navidrome and calibre web don’t, so I thought I’d better get onto setting up Authelia…
Been having issues setting it up, and now I’m starting to wonder if its worth the trouble after all. I’m sure NC is fine sercrity wise but will I be fine leaving the other two exposed to the internet? I know having Authelia is definitely better… but is it really worth it if I haven’t pissed off any hackers, and am just a normal dude?
Thanks!
As am alternative for Authelia you can take a look at Authentik. I didn’t use it by myself, but read a lot of it. Configuration is done via GUI and not text based like Authelia.
IMHO a much more straight and easier approach would be to use a reverse proxy (like Nginx Proxy Manager and use basic auth.
I used to think Authelia will allow you to consume external SSO… turns out I was wrong, maybe? So now I think I’m the odd ball here and think it might not be a good idea to deploy Authelia.
Here’s my thought process:
I have some apps I want to secure — they may or may not have already got a bake in authentication where they’ve got my password (ideally, just for that one app managed via password manager, but I’ll be the first to admit that’s not always the case). Passwords are icky, and even though they’re hashed, ideally hundreds of thousands of times, a leak / compromise is not unheard of.
Now, in order to secure these apps, the last thing I want is now to also worry about another app storing the password becoming the single point of failure.
In my mind, if it is literally just for me, I’d look at getting my reverse proxy to handle forward auth via OAuth to some much larger and trusted provider with MFA — Google, Microsoft, GitHub, etc. — and trust that their entire department responsible for auth will be smarter than some open source deployment I try to maintain/keep up.
In my mind, if it is more than just me, I’d look at getting something to consume multiple external providers, such that allows for the users to choose their desired provider, as well as allow me to slap an unified branding. So in this case I’d be looking at something like Authentik, Keycloak, or FusionAuth.
I just really don’t want to deal with handling/storing passwords.
But hey what kind of issues are you running into with Authelia? Is it just deploying/setting up? Or is it integrating with their supported identity provider (ie ldap)? Or something else all together?
Thanks for the advice! I’d personally like to stay away from big companies, I made the server in the first place to escape from them, so it’d be weird for me to still use them. Maybe if I had a password manager or something sensetive I’d go with external so though
Problems I was having were just with the setup, problems with redis and mariadb, and getting them all linked together. I can attach some relevant logs if you’re willing to help, thanks!!!
I’ll be the dissenting voice to say, no you don’t need it. If you keep things updated and follow best practices you should be fine. Unless you piss off a state actor.
That being said, it would be wise to have 2fa on everything if you can.
Since you’re already using cloudflare, you might want to consider using Cloudflare Zero Trust, which is free for the first 50 users.
Here is an example on how to gate a gitlab instance behind Cloudflare Zero Trust login wall. You should be able to substitute it with any web applications easily enough. https://developers.cloudflare.com/cloudflare-one/tutorials/gitlab/
Personally I’m using Keycloak and OAuth2-Proxy though, but they can be quite an ordeal to setup.