95 lines
3.6 KiB
Markdown
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]]
|