authentik is an open-source identity provider (IdP) and SSO platform for applications and internal services.
flowchart LR
User([User]) -->|:9001| Server[authentik Server]
Server --> Worker[authentik Worker]
Server --> PG[(PostgreSQL)]
Server --> Redis[(Redis)]
App([Application]) -->|OIDC/SAML| Server
authentik-serverprovides the UI/API.authentik-workerruns background jobs and outposts.- PostgreSQL stores configuration and identity data.
- Redis is used for cache and queue processing.
- Server image:
ghcr.io/goauthentik/server:latest - Worker image:
ghcr.io/goauthentik/server:latest - Dependencies:
postgres:16,redis:7 - UI endpoint:
http://<host-ip>:9001 - Persistent data: named volumes (
database,redis,media,certs,custom-templates)
Copy .env.example to .env:
AUTHENTIK_PORTAUTHENTIK_POSTGRES_USERAUTHENTIK_POSTGRES_PASSWORDAUTHENTIK_POSTGRES_DBAUTHENTIK_SECRET_KEY(set a strong random value)
cd authentik
cp .env.example .env
docker compose up -dPodman:
cd authentik
cp .env.example .env
podman compose up -dIf login fails and you need to reset the akadmin password:
podman compose exec authentik-server ak changepassword akadminThen sign in again with username akadmin and the new password.
- First startup can take a few minutes.
- Set a strong
AUTHENTIK_SECRET_KEYbefore production use.