nforwardauth - simple and minimalist forward auth service intended for use with reverse proxies (Traefik, Caddy, etc). added basic auth and logout support

nos@lemmy.world to Selfhosted@lemmy.world – 100 points –
GitHub - nosduco/nforwardauth: Simple and minimalist forward auth service intended for use with reverse proxies (Traefik, Caddy, nginx, etc)
github.com

Hey all!

New to lemmy and want to share a project I've been working on: nforwardauth (https://github.com/NOSDuco/nforwardauth) a simple forwardauth service for Traefik (and other reverse proxies) I built after being sick of basic auth. It now contains a logout page if you navigate to the auth service after being logged in. Another upgrade added is basic auth compatibility. For things like nzb360 where you need to skip the login form, you can specify your same credentials in the URL via basic auth and you will be authenticated with each request.

Hope this is useful to someone :)

13

Wow, this looks incredible! I always wanted to to deploy something like Authelia or Authentik but they seemed way too heavy for my purpose.

Whats the runtime memory usage of the docker container?

That exact reasoning is what led me to make this project! :)

As for memory usage, the nforwardauth container uses about 4MB of memory when running with the Traefik example (under examples/traefik-v2)

Thanks and hope this helps!

I'll admit, I'm not a huge fan of Traefik (It's too big of a hassle for me and I use Cloudflare tunnels anyway). I couldn't get past the login even after literally copy pasta of your example for the user test as a last resort. So, I'm not sure if it's because I'm not using Traefik or some other reason. (Username tried was test Password Test) I also tried at first my username/password combo I set for it using the command to generate the passwd file.

I had this problem until I realised I wasn't mounting the passwd file correctly. You need to mount passwd.txt not the passwd folder

Looks good I'm going to spin this up. To use with Caddy is it the same as Authelia?

https://caddyserver.com/docs/caddyfile/directives/forward_auth#authelia