Files
2026-06-09 18:40:21 +02:00

95 lines
3.6 KiB
Markdown

---
title: Pocket ID
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, authentication, sso, oidc, mfa, 2fa]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Authentication, https://github.com/pocket-id/pocket-id]
---
# 🔐 Pocket ID
> Serveur OIDC minimaliste et simple à déployer, idéal pour les homelabs cherchant un SSO sans IdM complexe.
## 📋 Informations Générales
| Attribut | Valeur |
|----------|--------|
| **Nom** | Pocket ID |
| **Slug** | app-pocket-id |
| **Description** | Serveur OIDC simple, sans base de données |
| **Site officiel** | https://pocket-id.org |
| **Repository** | https://github.com/pocket-id/pocket-id |
| **Stars** | 8 054 ⭐ |
| **Licence** | MIT |
| **Langage principal** | Go / SvelteKit |
| **Catégorie** | Authentication |
| **Tags** | [catalogue, authentication, sso, oidc, mfa, 2fa] |
## 📝 Description
Pocket ID est un serveur **OIDC (OpenID Connect)** minimaliste conçu pour être **simple à installer et à utiliser**. Le projet se distingue par son approche **sans base de données** : toutes les données sont stockées dans un fichier SQLite, ce qui simplifie drastiquement le déploiement et les backups.
Pocket ID supporte **OIDC** nativement, et propose un **MFA** intégré (TOTP, WebAuthn/Passkeys), la **fédération d'identités** (Google, GitHub, etc.), ainsi qu'une gestion basique des utilisateurs et groupes. L'interface est simple et propre (SvelteKit).
C'est l'outil parfait pour un **homelab** qui veut un SSO OIDC fonctionnel **sans la complexité** d'un Keycloak, authentik ou Authelia. Pocket ID ne fait pas d'IdM complet (pas de LDAP federation, pas d'annuaire complexe), mais c'est justement sa force : il fait **une seule chose, et la fait bien**. Excellent pour protéger Grafana, Portainer, Nextcloud, Immich avec OIDC.
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
pocket-id:
image: ghcr.io/pocket-id/pocket-id:latest
ports:
- "1411:1411"
environment:
APP_URL: https://auth.example.com
OIDC_ISSUER_URL: https://auth.example.com
OIDC_PORT: 1411
SESSION_COOKIE_SECRET: changeme-random-secret
SIGNING_KEY_FILE: /data/signing.key
volumes:
- pocket-id-data:/app/data
volumes:
pocket-id-data:
```
### Installation manuelle
Télécharger le binaire depuis GitHub Releases, créer un fichier `config.json`, lancer `./pocket-id`. Pas de dépendances externes (SQLite embarqué).
## ⚙️ Configuration
- **OIDC Clients** : enregistrement des apps consommatrices
- **Users** : gestion locale des utilisateurs (SQLite)
- **MFA** : TOTP, WebAuthn (passkeys)
- **Identity Providers** : Google, GitHub, etc.
- **Groupes** : mapping pour RBAC basique
- **Signing Key** : génération automatique, à sauvegarder
## 🔗 Alternatives
- **Authelia** — Plus complet, mais plus complexe
- **authentik** — IdM complet, plus lourd
- **Keycloak** — IdM enterprise, surdimensionné pour un homelab
## 🔒 Sécurité
- Activer **HTTPS** (Traefik, NGINX, Caddy)
- Activer **MFA** (TOTP ou passkeys) dès la création du compte admin
- Sauvegarder le **signing key** et le dossier `/data`
- Mettre à jour régulièrement
- Limiter l'**OIDC audience** aux clients nécessaires
## 📚 Ressources
- Site officiel : https://pocket-id.org
- Repository GitHub : https://github.com/pocket-id/pocket-id
- Documentation : https://pocket-id.org/docs/
## 🔗 Pages Liées
- [[cat-authentication]] (n'existe pas encore, OK)
- [[app-authentik]] — IdM plus complet
- [[app-authelia]] — SSO reverse proxy
- [[app-kanidm]] — IdM en Rust
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]