Skip to content

Pocket-ID Docker SSO : déploiement léger avec OpenID Connect

Brandon
Date de publication:

💡 TL;DR

  • Pocket-ID est un fournisseur d’identité OpenID Connect ultra-léger, parfait pour l’auto-hébergement
  • Il se déploie en 5 minutes avec Docker Compose et consomme moins de 100 Mo de RAM
  • Tu peux centraliser l’authentification de tous tes services homelab sans la complexité de Keycloak

Introduction

Gérer une dizaine de services dans ton homelab signifie souvent gérer une dizaine de couples login / mot de passe. C’est fastidieux, peu sécurisé et source d’erreurs. Les solutions enterprise comme Keycloak ou Authelia existent, mais elles demandent une courbe d’apprentissage steile et des ressources serveur conséquentes.

Pocket-ID est un fournisseur d’identité OpenID Connect (OIDC) open-source conçu pour être minimaliste, rapide et facile à déployer. Un conteneur, une base de données SQLite, et tu obtiens un portail d’authentification centralisé prêt à connecter tes applications.

Dans ce guide, nous allons déployer Pocket-ID avec Docker Compose, configurer un client OIDC de base et sécuriser l’accès.

Pourquoi choisir Pocket-ID ?

CritèrePocket-IDKeycloakAuthelia
RAM~80 Mo+1 Go~200 Mo
Base de donnéesSQLite intégréePostgreSQL obligatoireRedis + DB
ConfigurationInterface web intuitiveXML / CLI complexeFichiers YAML
OIDC natifOuiOuiOui (via OIDC)
TOTP / PasskeysOuiOuiOui

Pocket-ID brille par sa simplicité : pas de stack à assembler, pas de dizaines de variables d’environnement à comprendre. Tu lances le conteneur, tu crées ton premier utilisateur depuis l’interface, et tu configures tes clients OIDC en quelques clics.

Si tu cherches une solution de sécurité plus lourde pour une infrastructure complexe, j’ai aussi publié un guide sur WireGuard avec Docker pour sécuriser l’accès réseau.

Prérequis

Si tu n’as pas encore de reverse proxy en place, mon guide sur Nginx Proxy Manager t’explique comment monter le tien en quelques minutes.

Déploiement avec Docker Compose

Crée un répertoire dédié et un fichier docker-compose.yml :

services:
  pocket-id:
    image: ghcr.io/pocket-id/pocket-id:latest
    container_name: pocket-id
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./data:/app/backend/data
    environment:
      - APP_ENV=production
      - PUBLIC_APP_URL=https://id.tondomaine.com
      - TRUST_PROXY=true
      - DATABASE_URL=/app/backend/data/pocket-id.db

Note : Remplace id.tondomaine.com par ton propre sous-domaine. Le port 3000 est interne ; en production, tu passeras par le reverse proxy en HTTPS.

Lance le conteneur :

docker compose up -d

Pocket-ID démarre et crée automatiquement sa base SQLite dans le dossier ./data.

Configuration initiale

  1. Accède à https://id.tondomaine.com (via ton reverse proxy)
  2. Crée ton compte administrateur lors du premier démarrage
  3. Depuis l’interface d’administration, navigue vers Clients OIDC
  4. Ajoute un nouveau client avec :
    • Name : le nom de ton service (ex. Dashy)
    • Redirect URIs : l’URL de callback de ton application (ex. https://dashy.tondomaine.com/oauth2/callback)
    • Scopes : openid profile email
  5. Note le Client ID et le Client Secret générés

Exemple d’intégration : Homer Dashboard

Pour protéger un service comme Homer Dashboard (ou n’importe quel service compatible OIDC), ajoute ces variables dans la configuration SSO de ton application :

Si tu utilises Cloudflare Tunnel pour exposer tes services, l’authentification Pocket-ID ajoute une couche SSO en amont de ton tunnel existant.

Sécurité et bonnes pratiques

Conclusion

Pocket-ID redéfinit ce qu’un SSO auto-hébergé peut être : léger, rapide et fonctionnel sans compromis. En moins de dix minutes, tu centralises l’authentification de ton homelab et tu élimines la fatigue des mots de passe multiples. C’est la solution idéale pour ceux qui veulent du SSO sans la surcharge d’une infrastructure IAM traditionnelle.

Next
Syncthing Docker : synchronise tes fichiers sans le cloud