Identity and access, checked 2026-10-17

authentik: Docker configuration reference

Self-hosted identity provider with SSO, SAML, OAuth2/OIDC, LDAP and proxy-based forward auth.

At a glance

Ports

Ports
PortWhat listensSource
9000HTTP listener for the web UI, API and outpost communication. Default when COMPOSE_PORT_HTTP is unset.source for port 9000
9443HTTPS listener, self-signed by default. Point a reverse proxy here if it expects TLS from authentik.source for port 9443

Environment variables

Environment variables
VariableRequiredWhat it doesExampleSource
AUTHENTIK_SECRET_KEYYesSigning key for sessions and tokens. Losing it invalidates every session.openssl rand -base64 60source for AUTHENTIK_SECRET_KEY
PG_PASSYesPassword for the bundled PostgreSQL user, shared with the server and worker containers.openssl rand -base64 36source for PG_PASS
AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRSNoReplaces the default trusted proxy CIDR list. Set this if the reverse proxy connects from outside 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16.10.0.0.0/8source for AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS
COMPOSE_PORT_HTTPNoHost port mapped to the internal HTTP listener. Requires a container recreate to take effect.80source for COMPOSE_PORT_HTTP
AUTHENTIK_ERROR_REPORTING__ENABLEDNoSends anonymised error reports upstream. Off by default.truesource for AUTHENTIK_ERROR_REPORTING__ENABLED

Volumes that must persist

Volumes
PathWhat is in itSource
/var/lib/postgresql/data (postgresql)The whole dataset: users, flows, applications, outpost configuration.source for /var/lib/postgresql/data
/data (server)Media, blueprints and other server-side state shared with the worker.source for /data
/certs (worker)Certificates the worker manages, including outpost TLS material.source for /certs

Behind a reverse proxy

What it needs alongside it

Dependencies
DependencyWhySource
PostgreSQL 14 to 18Required for application data, configuration, sessions and background task coordination.source for PostgreSQL 14 to 18

Release timeline

Releases
VersionDateBreakingWhat changedSource
2026.8.42026-10-14NoMaintenance release: fixes SAML metadata serving the full PEM chain, proxy outpost JWKS fetching over the unix socket and HTTP/2 upstream negotiation.source for release 2026.8.4
2026.8.32026-09-17NoMaintenance release: fixes a policy binding cache invalidation bug, a login_hint redirect loop and X-Forwarded-For values that include ports.source for release 2026.8.3
2026.8.22026-09-09NoMaintenance release with backported security patches, plus fixes for bulk session revocation and an is_active check in auth backends.source for release 2026.8.2
2026.5.72026-09-09NoMaintenance release in the 2026.5 line with backported security patches and Django 5.2.17.source for release 2026.5.7
2026.2.72026-09-09NoMaintenance release in the 2026.2 line with backported security patches and Django 5.2.17.source for release 2026.2.7
2026.8.12026-09-01NoPatch release. See the linked release notes for the fixed issues in the 2026.8 line.source for release 2026.8.1
2026.8.02026-08-18YesForwarded headers are now trusted only from trusted proxy networks. Adds object attributes, agent accounts, user switching and OAuth2 token exchange.source for release 2026.8.0
2026.5.62026-08-03NoMaintenance release in the 2026.5 line.source for release 2026.5.6
2026.5.52026-07-20NoMaintenance release in the 2026.5 line.source for release 2026.5.5
2026.2.62026-07-13NoMaintenance release in the 2026.2 line.source for release 2026.2.6

If it is not coming up

Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-10-17. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.

Other app references

All app references