No description
- FreeMarker 56.6%
- CSS 24.1%
- JavaScript 19.3%
| login | ||
| .gitignore | ||
| README.md | ||
| test | ||
Thème Keycloak — Homelab Cyberpunk
Thème clair et sombre cyberpunk avec support :
- Connexion classique (identifiant + mot de passe)
- Clé de sécurité WebAuthn / Passkey (passwordless)
- TOTP / Code OTP (second facteur)
- Réinitialisation de mot de passe
- Session expirée
Installation
1. Copier le thème
Copie le dossier homelab/ dans le répertoire themes/ de ton installation Keycloak :
cp -r homelab/ /opt/keycloak/themes/
Docker / Podman — monte le dossier en volume dans ton compose :
volumes:
- ./homelab:/opt/keycloak/themes/homelab:ro
2. Activer le thème dans Keycloak
- Connecte-toi à la console d'administration Keycloak
- Sélectionne ton realm (ex.
masterou ton realm homelab) - Va dans Realm Settings → Themes
- Dans le champ Login theme, sélectionne
homelab - Clique sur Save
3. Activer WebAuthn dans Keycloak
Pour que la clé de sécurité fonctionne :
- Va dans Authentication → Flows
- Duplique le flow
browseret nomme-lebrowser-webauthn - Ajoute l'exécution WebAuthn Authenticator (ou WebAuthn Passwordless)
- Dans Authentication → Required Actions, active Webauthn Register
- Dans Realm Settings → Security Defenses, vérifie que le domaine est correct
- Va dans Authentication → WebAuthn Policy (ou Passwordless Policy) et configure :
- Relying Party Name : ton domaine (ex.
homelab.local) - User Verification :
preferredourequired
- Relying Party Name : ton domaine (ex.
- Assigne le flow
browser-webauthndans Realm Settings → Flows → Browser Flow
4. Tester
Ouvre l'URL de ton realm :
https://keycloak.qpixel.ovh/realms/Principal/account
Personnalisation
Changer la couleur d'accent (le cyan)
Dans resources/css/login.css, modifie les variables CSS au début :
:root {
--accent: #00d2aa; /* Couleur principale */
--accent-dim: rgba(0,210,170,0.4);
--accent-faint: rgba(0,210,170,0.12);
--accent-muted: rgba(0,210,170,0.25);
}
Exemples de palettes alternatives :
- Violet :
#a855f7/rgba(168,85,247,...) - Rouge :
#ff4d6a/rgba(255,77,106,...) - Bleu :
#38bdf8/rgba(56,189,248,...)
Dans resources/js/particles.js, change aussi les occurrences de rgba(0,210,170,...).
Remplacer les particules par une image de fond
Dans resources/css/login.css, ajoute à la fin :
body {
background-image: url('/path/to/your/image.jpg');
background-size: cover;
background-position: center;
}
#particle-canvas { display: none; }
Modifier le titre
Dans login.ftl, cherche :
<div class="kc-title">Accès</div>
<div class="kc-subtitle">HOMELAB // AUTHENTICATION NODE</div>
Structure des fichiers
homelab/
└── login/
├── theme.properties # Config du thème
├── login.ftl # Page de connexion principale
├── login-otp.ftl # Page code TOTP / OTP
├── login-reset-password.ftl # Réinitialisation mot de passe
├── login-page-expired.ftl # Session expirée
├── webauthn-authenticate.ftl # Page dédiée WebAuthn
└── resources/
├── css/
│ └── login.css # Styles cyberpunk
└── js/
└── particles.js # Animation particules
Versions Keycloak supportées
Testé pour Keycloak 21+ (basé sur Quarkus).
Pour Keycloak < 17 (WildFly), le chemin des thèmes est standalone/deployments/ au lieu de themes/.