Abstract violet and amber illustration representing Authentik, a self-hosted identity provider and single sign-on platform

Authentik

Authentik

Authentik est un fournisseur d’identité auto-hébergé : un seul écran de connexion devant toutes les applications de votre réseau, en OAuth2/OIDC, SAML, LDAP, RADIUS ou simple forward-auth selon ce que comprend l’application visée. Plutôt qu’un mot de passe par service, Nextcloud, Gitea, Grafana, vous vous connectez une fois à Authentik, qui se porte garant de vous partout ailleurs.

Licence : le cœur d’authentik est sous licence MIT, confirmée depuis le fichier LICENSE du dépôt GitHub goauthentik/authentik. Un fichier séparé, authentik/enterprise/LICENSE, couvre l’édition Enterprise payante (RBAC étendu, crypto FIPS, support dédié) sous d’autres conditions ; le site de documentation, lui, est en CC BY-SA 4.0. Cette fiche ne couvre que l’édition MIT gratuite et auto-hébergée.

En bref : site officiel goauthentik.io · source github.com/goauthentik/authentik (plus de 21 500 étoiles) · image Docker ghcr.io/goauthentik/server · dernière version stable 2026.2.3 · tourne en quatre conteneurs : server, worker, PostgreSQL et Redis.

Ce que fait vraiment Authentik

Authentik joue le rôle de fournisseur pour le protocole que parle déjà l’application : OAuth2/OIDC pour le web moderne, SAML pour les logiciels d’entreprise plus anciens qui l’exigent encore, LDAP pour les outils historiques façon Active Directory, et RADIUS pour le matériel réseau (concentrateurs VPN, contrôleurs Wi-Fi). Pour tout le reste, un outpost Authentik joue les proxys forward-auth, jusqu’à mettre un simple site statique derrière un mur de connexion.

Ce qui distingue Authentik d’une page de connexion greffée, ce sont les flows : chaque connexion, inscription, réinitialisation de mot de passe et invite MFA est une séquence configurable depuis l’interface d’administration, pas un formulaire figé. Un captcha avant le mot de passe, une vérification par email pour les nouveaux comptes ? Ça se règle dans un flow, pas dans du code. Le MFA couvre WebAuthn, passkeys, TOTP, codes de récupération statiques et Duo push, et des policies peuvent restreindre les connexions par groupe ou réseau, ou signaler une tentative suspecte selon la distance avec la dernière connexion.

Installer Authentik avec Docker

Authentik n’est pas un conteneur unique qu’on pointe vers un volume : le compose officiel fait tourner quatre services, PostgreSQL pour la configuration, Redis comme cache et courtier de tâches, un conteneur server pour l’interface et l’API, et un worker pour les tâches de fond comme l’envoi d’emails. Server et worker partagent la même image ghcr.io/goauthentik/server ; seule la commande diffère.

services:
  postgresql:
    image: docker.io/library/postgres:16-alpine
    restart: unless-stopped
    volumes:
      - database:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: ${PG_PASS}
      POSTGRES_USER: authentik
      POSTGRES_DB: authentik
  redis:
    image: docker.io/library/redis:alpine
    command: --save 60 1 --loglevel warning
    restart: unless-stopped
    volumes:
      - redis:/data
  server:
    image: ghcr.io/goauthentik/server:2026.2.3
    restart: unless-stopped
    command: server
    environment:
      AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
      AUTHENTIK_REDIS__HOST: redis
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
    ports:
      - "9000:9000"
      - "9443:9443"
    depends_on:
      - postgresql
      - redis
  worker:
    image: ghcr.io/goauthentik/server:2026.2.3
    restart: unless-stopped
    command: worker
    environment:
      AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
      AUTHENTIK_REDIS__HOST: redis
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
    depends_on:
      - postgresql
      - redis

volumes:
  database:
  redis:

Avant de lancer : générez de vraies valeurs pour PG_PASS et AUTHENTIK_SECRET_KEY dans un fichier .env, le serveur refuse de démarrer sans elles (le projet recommande openssl rand -base64 36 pour le mot de passe de la base et openssl rand -base64 60 pour la clé secrète). Prévoyez un hôte avec au moins 2 cœurs CPU et 2 Go de RAM : c’est le plancher documenté par authentik lui-même, pas une suggestion à ignorer sur un Raspberry Pi.

docker compose pull
docker compose up -d

Une fois les deux conteneurs en bonne santé, ouvrez http://ip-de-votre-serveur:9000 : il vous est demandé de définir un mot de passe pour le compte akadmin par défaut. C’est tout le déroulé du premier lancement ; le reste, providers, applications, flows, se configure ensuite depuis l’interface d’administration.

Sécuriser une première installation

Définissez le mot de passe akadmin tout de suite, ne remettez pas ça à plus tard. La documentation d’Authentik déconseille de monter /etc/timezone ou /etc/localtime dans les conteneurs : tout tourne en UTC en interne, et y toucher casse la validation des jetons OAuth et SAML de façon difficile à diagnostiquer. Le fichier compose par défaut monte aussi le socket Docker dans le worker pour la gestion automatique des outposts, pratique, mais un vrai chemin d’escalade de privilèges si cet hôte fait tourner autre chose ; retirez ce montage et gérez les outposts à la main si vous n’en avez pas besoin. Placez un reverse proxy avec un vrai certificat TLS devant le port 9000, comme pour Vaultwarden ; Nginx Proxy Manager gère la partie certificat en quelques clics.

Authentik face à Keycloak et Authelia

Keycloak est le fournisseur d’identité le plus ancien, en Java, maintenu par Red Hat : couverture de protocoles similaire, plus long historique en entreprise, mais console d’administration datée et base de données externe à faire tourner en plus. Authelia prend le chemin inverse : un seul binaire Go léger, configuré via un fichier YAML unique, pensé comme compagnon forward-auth pour un reverse proxy plutôt que comme fournisseur d’identité complet avec sa propre base d’utilisateurs.

AuthentikKeycloakAuthelia
ProtocolesOAuth2/OIDC, SAML, LDAP, RADIUS, forward-authOAuth2/OIDC, SAML, LDAPForward-auth uniquement (fournisseur OIDC ajouté plus tard, limité)
StackServer + worker + PostgreSQL + RedisServeur Java + base de données externeBinaire unique + fichier de configuration
Interface d’administrationInterface web complète, générateur de flowsInterface web, datée mais fonctionnelleFichier YAML, pas d’interface intégrée
Meilleur cas d’usageRemplacement complet d’IdP pour un homelab ou une petite structureEnvironnements d’entreprise déjà dans l’écosystème Red HatAjouter une authentification à des applications déjà derrière un reverse proxy
  • Couvre OAuth2/OIDC, SAML, LDAP et RADIUS depuis un seul déploiement, sans outil séparé par protocole
  • Flows et policies se configurent depuis l’interface d’administration, sans avoir à redémarrer un service avec un nouveau fichier de configuration
  • Cœur sous licence MIT, rythme de sortie actif, grande bibliothèque d’intégrations
  • Les outposts étendent le SSO à des applications qui n’ont jamais été conçues pour le supporter
  • Quatre conteneurs et deux stores de données supplémentaires à sauvegarder et maintenir à jour, contre un seul binaire pour Authelia
  • Flows, providers et outposts demandent un vrai temps d’apprentissage avant que le SSO se mette en place
  • Excessif si le besoin se limite à du forward-auth devant deux ou trois tableaux de bord internes

Matériel : 2 cœurs CPU et 2 Go de RAM, c’est le plancher documenté, et ça, c’est avant même que PostgreSQL et Redis aient de la marge sous une charge réelle. Un NAS basse consommation ou un vieux portable recyclé en serveur maison s’en sort ; un Raspberry Pi 4 tient la route mais devient juste dès qu’une poignée d’applications le sollicitent pour valider des jetons. Authelia reste l’option nettement plus légère si le matériel est la contrainte.

Authentik justifie sa place dès que vous jonglez avec les connexions de plus de trois ou quatre applications auto-hébergées : à partir de là, un seul fournisseur d’identité vaut mieux qu’un mot de passe par service. Pour plus d’outils d’accès et d’identité en homelab, parcourez notre archive Réseau & Sécurité, ou découvrez comment Tailscale gère l’accès au niveau réseau plutôt qu’au niveau applicatif.

FAQ

Authentik est-il vraiment gratuit ?

Oui. Le cœur est sous licence MIT et gratuit pour tout usage, auto-hébergement compris. Authentik Security vend aussi une édition Enterprise payante avec des contrôles RBAC étendus, une cryptographie conforme FIPS et des contrats de support, mais rien dans l’édition gratuite n’est bridé pour vous pousser vers elle.

Faut-il vraiment PostgreSQL et Redis, ou peut-on s’en passer ?

Les deux sont obligatoires. PostgreSQL stocke chaque utilisateur, application et définition de flow ; Redis gère le cache et transmet les tâches de fond au conteneur worker. Il n’existe ni mode SQLite ni fichier unique pour aucun des deux.

Authentik peut-il remplacer Active Directory ?

Pour l’authentification et le SSO, en grande partie oui : son outpost LDAP permet aux logiciels historiques de s’authentifier contre Authentik comme contre un AD classique. Il ne remplace pas la Group Policy ni l’administration de domaine Windows, donc un environnement mixte garde souvent AD pour les postes et route les connexions applicatives via Authentik.

Authentik est-il excessif pour un petit homelab ?

Pour une ou deux applications, probablement. Quatre conteneurs et une configuration à base de flows représentent beaucoup de surcharge pour un seul tableau de bord Grafana. Ça devient rentable dès que plusieurs applications ont chacune besoin de leur propre connexion : un seul compte remplace alors cinq mots de passe séparés.