A modern and customizable Keycloak theme built with Keycloakify and shadcn/ui. This theme provides a beautiful, responsive, and accessible user interface for Keycloak login pages.
- 🎨 Modern UI using shadcn/ui components
- 🔒 Supports essential login theme pages:
- Login
- Registration
- Password Reset
- OTP/2FA
- Email Verification
- Password Update
- Logout Confirmation
- Error Pages
- 🌐 Internationalization support
- 📱 Fully responsive design
- ♿ Accessibility focused
- 🛠️ Built with TypeScript and React
- Node.js (^18.0.0 || >=20.0.0)
- Docker and Docker Compose
- Java Development Kit (JDK) 17 (for local development)
- Clone the repository:
git clone <your-repo-url>
cd keycloakify-shadcn- Install dependencies:
npm install- Start the development environment:
# Start Storybook for component development
npm run storybook
# Or start the Vite dev server
npm run dev- Build the theme:
npm run build-keycloak-themeThe project includes Docker configuration for easy deployment:
- Build and start the containers:
docker compose up -dThis will start:
- Keycloak server with the custom theme (accessible at http://localhost:8090)
- PostgreSQL database
- Initial realm configuration
Default admin credentials:
- Username: admin
- Password: admin
/src/login/- Theme components and pages/src/login/pages/- Individual page implementations/config/- Keycloak realm configuration/.github/workflows/- CI/CD pipelines
npm run dev- Start development servernpm run build- Build the projectnpm run build-keycloak-theme- Build the Keycloak themenpm run storybook- Start Storybook for component developmentnpm run format- Format code with Prettier
- Create a new page component in
/src/login/pages/ - Add the page to the switch statement in
KcPage.tsx - Create a corresponding story file for Storybook testing