Deux philosophies, pas deux concurrents directs
Authentik (version 2026.8.2 au moment de cet article) est écrit en Python/Django avec un frontend TypeScript. Il s'installe sur votre VPS et se comporte comme un fournisseur d'identité à part entière : vos applications délèguent leur authentification à Authentik via OIDC ou SAML, qui gère les sessions, les groupes, le provisionnement et le cycle de vie des comptes. Le modèle est celui d'Okta ou d'Auth0, en open source et sur votre infrastructure.
Authelia (v4.39.24 au moment de cet article) est une couche d'authentification qui s'intercale devant votre reverse proxy — Traefik, nginx ou Caddy — via la directive auth_request. Elle valide chaque requête HTTP : si l'utilisateur n'est pas authentifié ou n'a pas le bon niveau de MFA, Authelia renvoie un 401 et le reverse proxy bloque. Authelia ne délivre pas de tokens OAuth2 aux applications, elle protège des URLs.
Ces deux outils coexistent souvent sur la même infrastructure : Authelia pour les dashboards internes et les outils sans support OIDC natif, Authentik pour les applications qui parlent OAuth2 ou pour le provisionnement LDAP d'un Active Directory maison.
Tableau comparatif Authentik vs Authelia
Faites défiler le tableau
| Critère | Authentik 2026.8 | Authelia v4.39 |
|---|---|---|
| Type | Fournisseur d'identité (IdP) | Passerelle d'authentification |
| OIDC / OAuth2 | Oui — OpenID Certified™ | Oui — OpenID Certified™ |
| SAML 2.0 (IdP) | Oui | Non (en roadmap, sans date) |
| LDAP | Oui (provider + outpost) | Non |
| Provisionnement SCIM | Oui (Enterprise) | Non |
| Flux d'authentification visuels | Oui | Non |
| RAM minimale (stack complète) | ~1 Go (worker + PostgreSQL) | < 30 Mo |
| Base de données requise | PostgreSQL (Redis supprimé en 2025.10) | Redis + PostgreSQL (ou SQLite) |
| Interface d'administration | Complète (UI web) | Fichier de configuration YAML |
| Licence | MIT (Community) / Enterprise | Apache 2.0 |
| Langage serveur | Python + Rust (depuis 2026.8) | Go |
Protocoles : le critère qui tranche pour 80 % des cas
Le support SAML est le point de bascule le plus courant. Si une application de votre stack — une suite bureautique, un ERP, un outil RH — n'accepte que SAML 2.0 comme mécanisme de fédération, vous n'avez pas le choix : Authelia ne peut pas jouer le rôle d'IdP SAML. Le support SAML est dans la roadmap d'Authelia, dans la section « planning » (pas encore « active »), sans date publiée.
Pour OIDC/OAuth2 en revanche, les deux outils sont désormais OpenID Certified™. Authelia a obtenu cette certification, ce qui valide l'implémentation sur les profils Basic OP, Implicit OP, Hybrid OP, Form Post OP et Config OP. Authentik est également certifié depuis la version 2026.8, avec en plus le support des logout profiles (RP-Initiated, Front-Channel, Back-Channel).
Pour une stack 100 % applications web modernes qui parlent OIDC — Nextcloud, Gitea, Grafana, Mattermost, Jellyfin — Authelia est suffisant et considérablement plus léger. Dès qu'une application exige SAML, du provisionnement automatique de comptes ou une gestion fine des entitlements, Authentik est le seul des deux à répondre.
Choisissez Authelia si
- Vous protégez des services internes sans support OIDC natif (dashboards, outils DevOps) via votre reverse proxy
- Votre VPS a moins de 2 Go de RAM ou tourne plusieurs services en parallèle
- Vous préférez une configuration déclarative en YAML, versionnée dans Git, sans interface web
- Votre stack est exclusivement OIDC/OAuth2 (pas de SAML, pas de LDAP)
- Vous voulez une surface d'attaque minimale : le binaire Go pèse moins de 20 Mo
Choisissez Authentik si
- Au moins une application exige SAML 2.0 — Authentik est le seul des deux à l'implémenter
- Vous gérez des comptes utilisateurs : cycle de vie, provisionnement SCIM, synchronisation LDAP
- Vous avez besoin de flux d'authentification personnalisés (onboarding, vérification e-mail, récupération de compte)
- Votre équipe technique préfère une interface graphique à un fichier de configuration
- Vous centralisez l'identité pour plusieurs équipes ou plusieurs produits
Empreinte ressources : la différence est un ordre de grandeur
Authelia tient sous 30 Mo de RAM en conditions normales. Son conteneur Docker pèse moins de 20 Mo. Pour une installation complète avec Redis et PostgreSQL, comptez 150 à 200 Mo au total — soit l'empreinte d'un service parmi d'autres sur un VPS mutualisé.
Authentik est dans une autre catégorie. La stack complète — worker Python, serveur Rust (depuis 2026.8, le frontal a été réécrit de Go en Rust) et PostgreSQL — demande au minimum 1 Go de RAM utilisable, et plutôt 2 Go sur un serveur dédié à Authentik si vous comptez plusieurs centaines d'utilisateurs. Le projet a simplifié la stack en 2025.10 en supprimant Redis : toutes les opérations de cache, les tâches de fond et les connexions WebSocket passent désormais par PostgreSQL. Le nombre de connexions à la base a augmenté en contrepartie.
Sur un VPS de 2 Go de RAM qui fait déjà tourner Gitea, Grafana et un reverse proxy, Authentik mangera la moitié des ressources disponibles. Authelia, dans le même contexte, sera pratiquement indétectable.
Prérequis pour déployer les deux
Pour Authelia : un VPS d'1 Go de RAM suffit, un reverse proxy déjà en place (Traefik, nginx ou Caddy), un domaine pointé vers votre serveur, Docker et Docker Compose installés. Authelia a besoin d'un stockage de sessions — SQLite pour les tests, PostgreSQL ou MySQL en production, Redis pour le cache (facultatif à partir de la v4.38 si vous activez la mémoire interne).
Pour Authentik : prévoir un VPS d'au moins 2 Go de RAM dédiés, idéalement 4 Go si d'autres services tournent en parallèle. PostgreSQL est obligatoire (Redis supprimé depuis 2025.10). Comptez Docker, Docker Compose, un domaine, et les ports 80 et 443 ouverts. L'installation via le docker-compose officiel démarre PostgreSQL, le worker et le serveur Authentik en une seule commande.
Déployer Authelia avec Docker Compose
Créer la structure de répertoires
Créez un répertoire de travail et les sous-dossiers nécessaires :
mkdir -p /opt/authelia/{config,data} cd /opt/autheliaCréer le fichier de configuration
Authelia se configure en YAML. Créez
/opt/authelia/config/configuration.ymlavec les blocsserver,log,authentication_backend,access_control,session,storageetnotifier. Définissez ledomainracine (auth.votredomaine.com), la durée de session et le backend de stockage (SQLite pour débuter, PostgreSQL en production).Créer le docker-compose.yml
services: authelia: image: authelia/authelia:latest container_name: authelia volumes: - ./config:/config - ./data:/data ports: - "9091:9091" restart: unless-stopped environment: - TZ=Europe/ParisConfigurer le reverse proxy
Dans nginx, ajoutez un bloc
locationqui délègue la validation à Authelia viaauth_request. Toute requête vers vos services internes passe d'abord parhttp://authelia:9091/api/verify— Authelia répond 200 si l'utilisateur est authentifié, 401 sinon. Traefik dispose d'un middlewareForwardAuthéquivalent.Démarrer et vérifier
docker compose up -d docker compose logs -f autheliaOuvrez
https://auth.votredomaine.com. Authelia affiche son portail de connexion. Créez un premier utilisateur dans le fichierusers_database.ymlet testez l'accès à un service protégé.
Déployer Authentik avec Docker Compose
Récupérer le compose officiel
mkdir -p /opt/authentik && cd /opt/authentik curl -O https://goauthentik.io/docker-compose.ymlCe fichier définit le worker, le serveur et PostgreSQL. Depuis la version 2025.10, Redis n'est plus dans le compose par défaut.
Créer le fichier .env
Générez les secrets nécessaires :
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env echo "AUTHENTIK_ERROR_REPORTING__ENABLED=false" >> .envAjustez
AUTHENTIK_EMAIL__*si vous souhaitez les notifications par e-mail.Démarrer la stack
docker compose pull docker compose up -dLe premier démarrage applique les migrations PostgreSQL et peut prendre une à deux minutes. Suivez les logs avec
docker compose logs -f worker.Accéder à l'interface d'administration
Ouvrez
http://<ip-vps>:9000/if/flow/initial-setup/pour créer le compte administrateur initial. Pointez ensuite votre domaine (sso.votredomaine.com) vers le serveur et configurez le reverse proxy pour terminer le TLS.Créer votre première application OIDC
Dans l'interface d'administration, allez dans Applications → Créer puis Fournisseurs → OAuth2/OpenID. Renseignez l'URL de redirection de votre application cliente, copiez le
Client IDet leClient Secretgénérés, et configurez votre application avec les endpoints OIDC d'Authentik (/application/o/<slug>/.well-known/openid-configuration).
Utiliser les deux en parallèle
La combinaison la plus courante sur un VPS bien chargé : Authelia protège les outils internes sans support OIDC (Grafana legacy, Portainer, dashboards maison) via le reverse proxy, et Authentik joue le rôle d'IdP OIDC pour les applications qui délèguent leur authentification. Les deux peuvent coexister sur le même serveur et partager le même PostgreSQL si les bases sont isolées. Authelia peut même être configuré pour déléguer l'authentification à Authentik via OIDC — vous obtenez ainsi la légèreté d'Authelia comme passerelle et la richesse d'Authentik comme source d'identité.
Sécurité et surface d'attaque
La surface d'attaque d'Authelia est structurellement plus petite : moins de code, pas d'interface d'administration exposée (la configuration est un fichier local), pas de support SAML, pas de LDAP. Le bilan CVE historique d'Authelia est en conséquence plus court que celui d'Authentik.
Authentik expose davantage : une interface web complète, un moteur de flux, plusieurs protocoles d'authentification, une API REST et des outposts. Chaque surface supplémentaire est une surface à maintenir à jour et à surveiller. La politique de support d'Authentik couvre la version courante et la précédente — au-delà, les correctifs de sécurité ne sont pas portés.
Dans les deux cas, les bonnes pratiques sont les mêmes : ne pas exposer le port d'administration en direct sur Internet, utiliser un certificat TLS valide sur le sous-domaine d'authentification, activer le MFA pour tous les comptes d'administration, et tenir les images Docker à jour en suivant les releases. Authentik publie ses releases environ tous les trois mois ; Authelia publie des correctifs de manière plus fréquente (rythme bimensuel en 2026).
Quel VPS pour chaque outil
Pour Authelia seul, un VPS de 1 à 2 Go de RAM est amplement suffisant, même si vous faites tourner plusieurs autres services en parallèle. Authelia ne justifie pas un serveur dédié.
Pour Authentik, le minimum raisonnable en production est 2 Go de RAM dédiés à la stack Authentik (worker + PostgreSQL). Si Authentik partage le VPS avec d'autres applications, prévoyez 4 Go minimum. Pour des déploiements avec plusieurs centaines d'utilisateurs actifs, les ressources nécessaires augmentent proportionnellement à l'usage de la base de données.
Un VPS ServOrbit avec 2 vCPU et 4 Go de RAM couvre confortablement Authentik en production, avec de la marge pour les applications qu'il protège. Le template Marketplace Authentik sur Dolibarr, n8n, Nextcloud, Open WebUI, WooCommerce, WordPress configure la stack Docker avec PostgreSQL, les variables d'environnement et le reverse proxy nginx en une seule commande.