Description
Rauthy est un serveur d'Identity Management (IdM) / SSO écrit en Rust, ce qui lui confère une empreinte mémoire très faible et d'excellentes performances. Le projet vise à offrir les fonctionnalités d'un IdM complet (OIDC, OAuth 2.0, sessions, MFA, gestion d'utilisateurs) avec une complexité opérationnelle bien moindre que Keycloak.
L'application supporte OIDC (Authorization Code, Client Credentials, Device Code), le MFA (TOTP, WebAuthn, passkeys, email), la gestion de groupes et rôles, l'HIERARCHICAL groups (très utile pour les organisations), le chiffrement des secrets au repos (AES-GCM), et fournit une Admin UI intégrée. Le backend supporte SQLite, PostgreSQL et le cache in-memory.
Idéal pour les homelabs exigeants qui veulent un IdM vraiment léger (un seul binaire Rust) sans sacrifier les fonctionnalités essentielles. L'API est bien documentée et l'UI d'admin est claire.
Installation
Via Docker (recommandé)
# docker-compose.yml
services:
rauthy:
image: ghcr.io/sebadob/rauthy:latest
ports:
- "8080:8080"
volumes:
- rauthy-data:/app/data
environment:
RAUTHY_ADMIN_EMAIL: [email protected]
RAUTHY_ADMIN_PASSWORD: changeme
RAUTHY_LISTEN_ADDRESS: 0.0.0.0:8080
RAUTHY_ENC_KEYS_PATH: /app/data/keys
restart: unless-stopped
volumes:
rauthy-data:
Installation manuelle
Télécharger le binaire depuis GitHub Releases ou compiler depuis les sources (cargo build --release). Binaire unique, configuration par variables d'environnement.
Configuration
- Database : SQLite (par défaut, idéal homelab) ou PostgreSQL
- Encryption : clés AES-GCM générées au premier démarrage
- OIDC clients : enregistrement via Admin UI ou API
- MFA : TOTP, WebAuthn, email OTP, passkeys
- Sessions : stateless JWT ou stateful (configurable)
Alternatives
- Keycloak — IdM enterprise, plus complet mais plus lourd
- authentik — IdM moderne Python, UI soignée
- Authelia — reverse proxy SSO, plus limité en IdM
Sécurité
- Sauvegarder le volume
rauthy-data(contient la DB et les clés) - Activer WebAuthn/passkeys pour le MFA
- Mettre à jour régulièrement (le projet est actif)
- Forcer HTTPS via reverse proxy
Ressources
- Site officiel : https://rauthy.io
- Repository GitHub : https://github.com/sebadob/rauthy
- Documentation : https://github.com/sebadob/rauthy#documentation
