Harden infrastructure security.
Self-hosted Auth0 alternative — full IdP with OIDC, SAML, LDAP, passkeys and a visual flow editor.
Authentik is a full-stack, open-source Identity Provider (IdP) built in Python/Go (Apache 2.0, ~22 k GitHub stars, v2026.5). It gives you everything a modern identity platform needs: user management with a self-serve portal, OIDC/OAuth2, SAML 2.0, LDAP proxy, RADIUS, passkeys/WebAuthn, and a unique visual flow editor that lets you design any authentication journey without writing code.
Deployed on a ServOrbit VPS, Authentik replaces cloud-hosted services like Auth0, Okta and Azure AD for small teams and developers who want full sovereignty over their user data. The stack is intentionally lean: since v2025.10 it runs without Redis — just a PostgreSQL 16 database alongside two lightweight Python containers (server and worker). The admin console lets you create applications, define OIDC/SAML integrations, manage groups and permissions, and monitor every login event from one place.
With Authentik as your IdP, you can wire up Single Sign-On across your entire self-hosted stack — Gitea, Nextcloud, Mattermost, Grafana, Docmost — using OIDC in a few clicks. One login, one user directory, all your apps.
Configure Authentik as an OIDC provider once and connect Gitea, Nextcloud, Mattermost, Docmost and Grafana. Users log in once and are automatically authenticated in every connected app. Revoke access for a departing team member in one place — no app-by-app cleanup.
Embed Authentik as the IdP behind your product's login flow using OIDC. You control the user database, the token lifetimes and the MFA policies. No per-MAU pricing, no vendor lock-in, no data leaving your infrastructure.
Put Authentik in front of Grafana dashboards, Dockge admin panels or any internal web app. Define access policies per group, enforce passkey MFA for sensitive tools, and get a full audit log of every login and token event.
Guide optimized for ServOrbit Cloud VPS.
A 2 GB RAM VPS on Ubuntu 24.04 is the recommended minimum. Authentik's server and worker idle under 400 MB, but PostgreSQL adds another 200 MB and the admin UI can spike during heavy use. A domain name is required — OIDC callbacks and session cookies need HTTPS with a valid FQDN.
Create an A record pointing your chosen subdomain (e.g. auth.yourdomain.com) to the VPS IP. The ServOrbit reverse proxy handles TLS automatically with Let's Encrypt via DNS-01.
Select Authentik in the ServOrbit Marketplace. The provisioning job deploys the Compose stack (PostgreSQL 16 + server + worker), generates the secret key and admin password, and starts the service. The admin console is available at https://auth.yourdomain.com/if/admin/ within 60–90 seconds.
Sign in as akadmin with the password set during deployment. Go to **Applications → Providers** and create an OIDC provider for your first app (Gitea, Nextcloud, etc.). Copy the Client ID and Secret to the app's OAuth settings, set the redirect URI, and save. SSO is live.
In **Directory → Users**, create accounts for your team or configure an LDAP/SCIM import. Under **Flows → Enrollment**, design your MFA flow: add a WebAuthn stage for passkeys or a TOTP stage for authenticator apps. Users complete enrolment through the self-serve portal on their first login.
Browse our help center and FAQ, or write to our team — support in French, English and Arabic.