Guide de déploiement

Authentik vs Authelia : quel SSO self-hosted pour votre VPS ?

Déployer sur un VPS Cloud →

Authentik vs Authelia : quel SSO self-hosted pour votre VPS ?

Comparatif9 min de lecture10 étapes

Authentik et Authelia s'affichent côte à côte dans presque chaque discussion sur le SSO self-hosted — mais ils ne répondent pas à la même question. Authentik est un fournisseur d'identité complet : OIDC, SAML, LDAP, provisionnement, flux visuels. Authelia est une passerelle d'authentification légère qui se greffe sur votre reverse proxy et gate l'accès à vos applications. Choisir l'un à la place de l'autre parce qu'il est « plus populaire » est la source d'erreur la plus fréquente sur ce sujet.

Sommaire· Deux philosophies, pas deux concurrents directs1/12
  1. 01Deux philosophies, pas deux concurrents directs
  2. 02Tableau comparatif Authentik vs Authelia
  3. 03Protocoles : le critère qui tranche pour 80 % des cas
  4. 04Choisissez Authelia si
  5. 05Choisissez Authentik si
  6. 06Empreinte ressources : la différence est un ordre de grandeur
  7. 07Prérequis pour déployer les deux
  8. 08Déployer Authelia avec Docker Compose
  9. 09Déployer Authentik avec Docker Compose
  10. 10Utiliser les deux en parallèle
  11. 11Sécurité et surface d'attaque
  12. 12Quel VPS pour chaque outil

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èreAuthentik 2026.8Authelia v4.39
TypeFournisseur d'identité (IdP)Passerelle d'authentification
OIDC / OAuth2Oui — OpenID Certified™Oui — OpenID Certified™
SAML 2.0 (IdP)OuiNon (en roadmap, sans date)
LDAPOui (provider + outpost)Non
Provisionnement SCIMOui (Enterprise)Non
Flux d'authentification visuelsOuiNon
RAM minimale (stack complète)~1 Go (worker + PostgreSQL)< 30 Mo
Base de données requisePostgreSQL (Redis supprimé en 2025.10)Redis + PostgreSQL (ou SQLite)
Interface d'administrationComplète (UI web)Fichier de configuration YAML
LicenceMIT (Community) / EnterpriseApache 2.0
Langage serveurPython + 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

  1. 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/authelia
  2. Créer le fichier de configuration

    Authelia se configure en YAML. Créez /opt/authelia/config/configuration.yml avec les blocs server, log, authentication_backend, access_control, session, storage et notifier. Définissez le domain racine (auth.votredomaine.com), la durée de session et le backend de stockage (SQLite pour débuter, PostgreSQL en production).

  3. 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/Paris
  4. Configurer le reverse proxy

    Dans nginx, ajoutez un bloc location qui délègue la validation à Authelia via auth_request. Toute requête vers vos services internes passe d'abord par http://authelia:9091/api/verify — Authelia répond 200 si l'utilisateur est authentifié, 401 sinon. Traefik dispose d'un middleware ForwardAuth équivalent.

  5. Démarrer et vérifier

    docker compose up -d
    docker compose logs -f authelia

    Ouvrez https://auth.votredomaine.com. Authelia affiche son portail de connexion. Créez un premier utilisateur dans le fichier users_database.yml et testez l'accès à un service protégé.

Déployer Authentik avec Docker Compose

  1. Récupérer le compose officiel

    mkdir -p /opt/authentik && cd /opt/authentik
    curl -O https://goauthentik.io/docker-compose.yml

    Ce fichier définit le worker, le serveur et PostgreSQL. Depuis la version 2025.10, Redis n'est plus dans le compose par défaut.

  2. 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" >> .env

    Ajustez AUTHENTIK_EMAIL__* si vous souhaitez les notifications par e-mail.

  3. Démarrer la stack

    docker compose pull
    docker compose up -d

    Le premier démarrage applique les migrations PostgreSQL et peut prendre une à deux minutes. Suivez les logs avec docker compose logs -f worker.

  4. 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.

  5. 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 ID et le Client Secret gé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.

Déployez votre SSO self-hosted sur un VPS dédié

Un VPS ServOrbit avec accès root, IPv4 dédiée et Docker préconfiguré vous donne la base pour déployer Authentik ou Authelia en production. Choisissez les ressources adaptées à votre stack et montez en gamme à la demande.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet