Français
Commencer

← Tous les templates · Mots de passe et connexion

Déployez authentik en un clic

Un fournisseur d’identité pour l’authentification unique (SSO) sur vos applications : OpenID Connect, SAML, LDAP, MFA et clés d’accès

Une alternative auto-hébergée à Okta, Auth0 et Keycloak.

Qu’est-ce que authentik ?

authentik est un fournisseur d’identité open source : une seule connexion, avec ses propres utilisateurs, groupes et authentification multifacteur, pour toutes les applications que vous faites tourner. Il parle OAuth2 et OpenID Connect, SAML, LDAP, RADIUS et SCIM, et son fournisseur proxy place une connexion devant les applications qui n’en ont pas. La connexion se construit avec des flux et des étapes dans l’interface d’administration, si bien que l’inscription, la récupération, la MFA par TOTP, clés d’accès WebAuthn ou Duo, et la connexion avec GitHub, Google, Apple ou Discord sont des réglages plutôt que du code.

On auto-héberge authentik pour doter ses propres applications d’une authentification unique, comme les entreprises le font avec Okta ou Microsoft Entra ID, sans payer par utilisateur. Ce template fait tourner le serveur d’authentik, son worker et PostgreSQL, et définit l’e-mail et le mot de passe de l’administrateur à partir des champs ; authentik se passe de Redis depuis la version 2025.10. Le revers : LDAP et RADIUS demandent chacun un avant-poste (outpost), un conteneur à part, et quelques fonctionnalités, comme les intégrations Google Workspace et Entra ID, font partie de l’édition Enterprise, payante.

Hébergement de authentik sur Pethost

  1. Vous vous connectez à Pethost avec une clé d’accès, GitHub ou Google. Pas encore de machine ? Vous choisissez une offre, et le lien attend qu’elle soit prête.
  2. Nouveau projet s’ouvre sur authentik. Vous remplissez ce qu’il demande et cliquez sur Créer le projet : E-mail, Mot de passe administrateur.
  3. En une minute ou deux, authentik tourne à sa propre adresse en HTTPS. Ses secrets sont créés au hasard, et ses données sont dans la sauvegarde nocturne.
  4. C’est un projet comme les autres : vous ou votre agent pouvez le modifier, revenir à une version précédente ou le restaurer.

Questions sur authentik

authentik est-il gratuit ?

Oui. L’édition open source d’authentik est gratuite, sous licence MIT, et comprend OpenID Connect, SAML, LDAP, RADIUS, SCIM et le fournisseur proxy. L’édition Enterprise commence à 5 $ par utilisateur et par mois, en facturation annuelle.

authentik ou Keycloak ?

Ce sont deux fournisseurs d’identité open source, avec OpenID Connect et SAML. authentik construit la connexion avec des flux dans son interface d’administration, et son propre comparatif indique LDAP, GeoIP et l’accès RDP, SSH et VNC dans le navigateur comme ce qu’il a et que Keycloak n’a pas, SCIM et RADIUS n’existant dans Keycloak que par des extensions.

authentik prend-il en charge les clés d’accès ?

Oui. Son étape WebAuthn enregistre les clés d’accès et les clés de sécurité, comme second facteur ou pour une connexion sans mot de passe, et le formulaire de connexion propose les clés d’accès en saisie automatique depuis authentik 2025.12.

Comment connecter une application à authentik avec OpenID Connect ?

Dans l’Interface d’administration, ouvrez Applications → Applications, cliquez sur « Nouvelle application », choisissez OAuth2/OpenID Connect et indiquez l’URI de redirection de l’application. L’application reçoit ensuite l’ID client, le secret du client et l’émetteur, https://<votre adresse>/application/o/<slug>/, où elle trouve le reste.

authentik peut-il servir de serveur LDAP ?

Oui, grâce à un fournisseur LDAP et à un avant-poste LDAP, le conteneur ghcr.io/goauthentik/ldap, qui sert les utilisateurs et les groupes d’authentik aux applications qui ne parlent que LDAP. On l’ajoute à compose.yaml avec le token de l’avant-poste, fourni par authentik.

De combien de mémoire et de disque authentik a-t-il besoin ?

authentik prend environ 750 MB de mémoire au repos avec PostgreSQL, et autour de 1 GB pendant son démarrage ; sa base de données grossit lentement avec les évènements et les sessions. Sur Pethost, l’offre Starter lui suffit, avec de la place pour d’autres applications à côté.

Le fichier Docker Compose de authentik

Le template, c’est ce compose.yaml et les variables écrites dans le .env du projet à sa création. Pethost exécute le fichier tel qu’il est écrit.

Conteneurs : server (ghcr.io/goauthentik/server:2026.8), worker (ghcr.io/goauthentik/server:2026.8), postgresql (postgres:16-alpine).

Volumes, dans la sauvegarde nocturne : data, certs, templates, database.

x-authentik: &authentik
  image: ghcr.io/goauthentik/server:2026.8
  restart: unless-stopped
  depends_on:
    postgresql:
      condition: service_healthy
  shm_size: 512mb
  # Any of authentik's settings can be added to .env, such as AUTHENTIK_EMAIL__HOST and the
  # others that send its email.
  env_file: .env

services:
  server:
    <<: *authentik
    command: server
    environment: &environment
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__NAME: authentik
      AUTHENTIK_POSTGRESQL__USER: authentik
      AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD}
      AUTHENTIK_SECRET_KEY: ${SECRET_KEY}
    volumes:
      - data:/data
      - templates:/templates

  # The worker runs the background tasks, and at its first start it gives the administrator,
  # akadmin, the email and password given, so authentik's initial setup is never offered.
  worker:
    <<: *authentik
    command: worker
    environment:
      <<: *environment
      AUTHENTIK_BOOTSTRAP_EMAIL: ${ADMIN_EMAIL}
      AUTHENTIK_BOOTSTRAP_PASSWORD: ${ADMIN_PASSWORD}
    volumes:
      - data:/data
      - certs:/certs
      - templates:/templates

  postgresql:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: authentik
      POSTGRES_USER: authentik
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - database:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U authentik -d authentik"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 30s

volumes:
  data:
  certs:
  templates:
  database:

Aussi dans Mots de passe et connexion