Pourquoi centraliser l'authentification sur votre VPS
Quand vous accumulez les outils self-hébergés (Grafana, Nextcloud, Gitea, un dashboard interne), chacun apporte sa propre base d'utilisateurs et sa propre politique de mots de passe. C'est un cauchemar à maintenir et une surface d'attaque démultipliée. Authentik résout cela en jouant le rôle de fournisseur d'identité (IdP) : il supporte OAuth2/OIDC, SAML, LDAP et surtout le forward auth, qui permet de protéger n'importe quelle application derrière un reverse proxy, même celles sans aucune notion de login. Le self-hébergement sur VPS garantit que vos identifiants ne transitent jamais par un service tiers et que vous restez maître de l'arbre des utilisateurs et des politiques MFA.
Ce que vous gagnez avec Authentik
- Un seul jeu d'identifiants pour toutes vos applications, avec déconnexion centralisée.
- MFA (TOTP, WebAuthn/clés FIDO2, codes de secours) appliqué uniformément par politique.
- Le forward auth pour protéger des apps "sans login", impossible avec un IdP classique.
- Des flows entièrement personnalisables (inscription, récupération, captcha, conditions d'accès).
- Connecteurs OAuth2/OIDC, SAML et LDAP pour brancher aussi bien des apps modernes que legacy.
- Provisioning et révocation d'accès immédiats lors d'un départ collaborateur.
Prérequis pour ce déploiement
Authentik est plus exigeant qu'un simple service : la stack comprend le serveur, un worker, PostgreSQL et Redis. Comptez un VPS avec au moins 2 vCPU et 4 Go de RAM pour un fonctionnement confortable, 2 Go étant un strict minimum qui peut souffrir sous charge. Docker et Docker Compose sont requis, ainsi qu'un nom de domaine dédié (auth.mondomaine.ma) avec un enregistrement A. Un reverse proxy (Traefik, Nginx Proxy Manager ou Caddy) est indispensable pour gérer le SSL et le forward auth vers vos autres applications.
Déployer Authentik en Docker Compose
Récupérer le compose officiel et générer les secrets
Téléchargez le docker-compose.yml de référence d'Authentik. Générez les valeurs sensibles dans un fichier .env : PG_PASS et AUTHENTIK_SECRET_KEY via openssl rand -base64 60. Ne réutilisez jamais une clé d'exemple.
Démarrer la stack
Lancez docker compose up -d. Quatre conteneurs montent : server, worker, postgresql et redis. Surveillez l'initialisation avec docker compose logs -f server jusqu'à voir le serveur prêt à écouter.
Finaliser l'installation via /if/flow/initial-setup/
Au premier lancement, rendez-vous sur https://auth.mondomaine.ma/if/flow/initial-setup/ pour définir le mot de passe du compte akadmin. C'est votre super-administrateur : protégez-le immédiatement avec du MFA.
Configurer le reverse proxy et le SSL
Routez auth.mondomaine.ma vers le port 9000 (HTTP) ou 9443 (HTTPS) du conteneur server via votre reverse proxy, avec un certificat Let's Encrypt. Authentik doit impérativement être servi en HTTPS pour que les cookies de session et WebAuthn fonctionnent.
Créer un provider et une application
Dans l'admin, créez un Provider (OIDC pour une app moderne, ou Proxy pour du forward auth) puis l'Application associée. Pour OIDC, récupérez le client_id / client_secret et l'URL .well-known/openid-configuration à coller dans l'app cliente.
Protéger une app par forward auth
Pour une application sans login natif, créez un Proxy Provider et déclarez un middleware d'authentification dans votre reverse proxy pointant vers l'endpoint /outpost.goauthentik.io/auth/. Toute requête non authentifiée est alors redirigée vers Authentik avant d'atteindre l'app.
Activez un Outpost intégré et exploitez les "property mappings" pour injecter des en-têtes (X-authentik-username, X-authentik-groups) vers vos applications en forward auth : nombre d'apps (Grafana, par exemple) savent lire ces en-têtes pour faire de l'auto-provisioning d'utilisateur et d'attribution de rôles. Vous obtenez ainsi non seulement du SSO, mais aussi un mapping de groupes vers rôles entièrement automatisé, sans configuration manuelle dans chaque outil.