mrkeyoor.com_
Mon 17 Aug 15:17 UTC
Self-Hostedevaluationupdated 17 Aug 2026

authelia

Authelia is a self-hosted login and access-control service that sits beside a reverse proxy to protect web applications with single sign-on and multi-factor authentication. It can also act as an OpenID Connect and OAuth 2.0 provider for applications that support modern delegated login.

Verdict

Authelia is an excellent fit for self-hosters and small infrastructure teams that already understand reverse proxies and want one serious authentication layer across many web apps. Its documentation, active maintenance, MFA choices, and OpenID certification put it well above hobby-grade login gates. Use it, but treat the proxy configuration and upgrade process as security work, not as another Compose service to copy and forget.

Setup3/5Good examples, but production needs proxy, secrets, mail, and storage
Docs5/5Exceptional configuration, proxy, protocol, security, and client guides
Community5/5Long-lived project with active maintainers and daily issue traffic
Maturity5/5Nearly a decade old, widely adopted, versioned, and OpenID certified

Who it’s for

Self-hosters protecting several web applications behind nginx, Traefik, Caddy, HAProxy, Envoy, or another documented proxy.
Organizations with an existing LDAP or Active Directory directory that want central web login and policy-based MFA.
Homelab operators who want passkeys, security keys, TOTP, or Duo instead of exposing password-only application logins.
Infrastructure teams prepared to operate identity as a critical service, including backups, secret rotation, TLS, monitoring, and prompt security updates.

Who it’s NOT for

Operators who are not comfortable securing a reverse proxy: Authelia's threat model says it relies heavily on the proxy and assumes it runs inside a trusted network.
Teams seeking a built-in workforce directory with broad identity sources: the documented first-factor backends are LDAP and a YAML file with password hashes.
Anyone wanting highly available identity from a single stateless container: the README calls for a remote database and Redis for HA, while the Helm chart remains beta.
Deployments requiring every OpenID Connect feature: the protocol guide says Dynamic Client Registration and Session Management are not implemented and lists them as planned goals, while the README still labels the OIDC offering beta despite certification.
Buyers whose policy requires evidence of a funded independent audit or penetration test before use: the README says the project is seeking sponsorship to obtain this work.

Setup reality

A local demo is well documented, and the lite Compose bundle can use a file user database and SQLite. A safe production deployment is not a quick container launch: configure DNS and TLS, the reverse proxy's authentication handoff, access rules, users or LDAP, SMTP notifications, storage, cookie domains, and several long random secrets. High availability adds PostgreSQL or MySQL plus Redis, and every protected application needs proxy or OpenID configuration. The config validator catches invalid keys and values but explicitly does not validate integrations, so end-to-end denial and bypass tests remain your responsibility.

A focused identity layer for web applications

Authelia sits between users and web applications, usually through a reverse proxy's forward-authentication feature. The proxy asks Authelia whether a request is allowed, then passes it through, denies it, or sends the user to a login portal. This design can add one-factor or two-factor access to applications that have weak authentication, while supported applications can use Authelia directly as an OpenID Connect provider.

That combination is the project's appeal. A homelab or internal platform can put old dashboards behind a shared gate and give newer services proper delegated login. Access rules can match domains, paths, methods, networks, users, and groups. Policies can require no authentication, one factor, or two factors depending on the resource. Second-factor choices include WebAuthn security keys, passkeys, TOTP applications, and Duo push.

Authelia is not a general employee-directory product. First-factor identities come from LDAP, including Active Directory and FreeIPA, or from a YAML file containing password hashes. The file backend is reasonable for a small stable user list; LDAP is the natural route when accounts and groups already have an administrative home. Authelia stores its own state, registrations, and authorization data, but it does not replace every identity lifecycle system.

The container is the easy part

Official containers, static binaries, Debian packages, AUR packages, FreeBSD Ports, Kubernetes guidance, and a beta Helm chart provide several installation routes. The local Compose bundle demonstrates public, one-factor, and two-factor sites with self-signed certificates. A lighter bundle uses a file user database and SQLite, making a trial possible without deploying a full database cluster.

Production requires a longer checklist. Authelia needs a public authentication URL, correct cookie domains, secure random session and storage keys, an authentication backend, persistent storage, and a notification method for identity-verification flows. The reverse proxy must send the right headers and must prevent users from reaching protected services by another route. Every application needs either a correct forward-auth configuration or an OpenID client registration. DNS and TLS must already make sense.

The configuration system is strong. YAML options have detailed references, sensitive values can come from files or templates instead of sitting in the main configuration, and authelia config validate catches unknown keys, renamed settings, invalid values, and conflicting secret sources. The documentation clearly says validation does not test integrations. A syntactically valid access rule can still protect the wrong host, and a working login page does not prove that a backend cannot be reached around the proxy. Test allowed and denied cases from outside the trusted network.

High availability costs more than one replica

The simplest setup keeps sessions in memory and durable state in SQLite. That is appropriate for a single instance with backups, not for replicas that must agree. Authelia recommends Redis for stateless shared sessions in high-availability deployments and a remote PostgreSQL or MySQL database for storage. Operators then own three availability domains: Authelia, the database, and Redis, plus the reverse proxy in front.

This is normal for an authentication service, but it makes the phrase “add SSO” misleadingly small. Back up storage, protect the encryption key separately, test restoration, and decide what happens when SMTP, LDAP, Redis, or the database is unavailable. Because the login layer fronts many services, one configuration error or expired secret can create a broad outage. Rolling updates and readiness checks deserve rehearsal before the system becomes the only path into administrative tools.

OpenID Connect support is substantial and certified for several provider profiles. The documentation covers a large catalog of specific clients, which removes much guesswork around redirect URIs, scopes, claims, and client authentication. Still, the README describes the offering as beta, and the protocol guide says Dynamic Client Registration and Session Management remain planned goals. Certification proves tested protocol profiles, not support for every optional feature an application might expect.

Security posture and project health

Authelia's threat model is unusually useful because it states its trust boundary plainly. The service assumes a trusted internal network and relies heavily on the reverse proxy. Identity headers sent to backends are unsigned, so an attacker able to reach a backend directly or impersonate the trusted path may bypass the intended check. Network segmentation and proxy configuration are part of the security control, not surrounding conveniences.

The latest release, v4.39.20 on May 26, 2026, fixed two security issues involving domain canonicalization in access rules and username canonicalization with LDAP basic authentication. Users were told to update promptly. This is evidence of both real security risk and a functioning disclosure and patch process. Authentication software will attract scrutiny; responsible maintenance matters more than pretending vulnerabilities never occur. The README also says the team is raising funds for an external security audit or penetration test, a relevant procurement fact for higher-assurance environments.

The repository was pushed on August 17, 2026, with issues and pull requests updated throughout the day. Its 128 open items include both issues and pull requests, and active work covers dependencies, sessions, storage, authorization, documentation, and service readiness. The May release date is not evidence of neglect. Authelia has existed since 2016, has broad adoption, and shows sustained engineering activity.

The decision

Choose Authelia when the main job is protecting self-hosted web applications behind a proxy and when file or LDAP identities fit. It offers more security depth and better documentation than a thin login shim without demanding the full administrative world of Keycloak. Choose authentik or Keycloak when visual identity administration, federation, and broader user lifecycle features dominate. Choose OAuth2 Proxy when an external provider already exists.

Authelia is mature enough to recommend and important enough to operate carefully. Begin with the lite deployment, map every trust boundary, then graduate to production storage and sessions only after bypass, recovery, and upgrade tests pass.

Alternatives

ProjectWhat it isPick it when
authentikA self-hosted identity provider with a visual administration layer, flows, directories, proxies, and application integrations.pick this instead when you want broader identity administration and a GUI-driven workflow, and accept a heavier platform.
KeycloakA mature identity and access-management server with realms, federation, administration, and standard protocols.pick this instead when enterprise federation, centralized administration, and a larger IAM feature set matter more than Authelia's focused proxy companion model.
ZITADELAn identity infrastructure platform for applications, organizations, users, and machine identities.pick this instead when you are building product identity and need organization-aware user management rather than mainly protecting existing web apps.
OAuth2 ProxyA reverse-proxy authentication component that delegates login to an existing OAuth or OpenID provider.pick this instead when you already have an identity provider and only need a thin authentication gate in front of applications.

What people are saying

  1. [github-trending] authelia/authelia

Sources

  1. Authelia repository and README
  2. Authelia Docker deployment guide
  3. Authelia configuration introduction and validation
  4. Authelia threat model
  5. Authelia session configuration
  6. Authelia first-factor configuration
  7. Authelia OpenID Connect integration guide
  8. Authelia v4.39.20 security release