This file explains only how to configure Keycloak for NoteBookmark.
If you do not have a Keycloak server yet, use docs/keycloak-container-setup.md first.
- Keycloak server administration guide: https://www.keycloak.org/docs/latest/server_admin/
- Keycloak securing applications (OIDC clients): https://www.keycloak.org/docs/latest/server_admin/#oidc-clients
In the Keycloak admin console, create a realm named:
notebookmark
In realm notebookmark, create a client with:
- Client ID:
notebookmark - Protocol: OpenID Connect
- Client authentication: Enabled (confidential client)
- Standard flow: Enabled
Set redirect and origin values for your app URL.
Local example:
- Valid redirect URIs:
http://localhost:8005/* - Valid post logout redirect URIs:
http://localhost:8005/* - Web origins:
http://localhost:8005
Then copy the generated client secret.
Use these values in docker-compose/.env:
KEYCLOAK_AUTHORITY=http://localhost:8080/realms/notebookmark
KEYCLOAK_CLIENT_ID=notebookmark
KEYCLOAK_CLIENT_SECRET=your-client-secretThese are consumed by docker-compose/note-compose.yaml:
Keycloak__Authority: ${KEYCLOAK_AUTHORITY}Keycloak__ClientId: ${KEYCLOAK_CLIENT_ID}Keycloak__ClientSecret: ${KEYCLOAK_CLIENT_SECRET}
Check that:
- Realm is exactly
notebookmark - Client ID is exactly
notebookmark - Client secret in
.envmatches Keycloak - Redirect URI matches your app URL
After that, run NoteBookmark using docs/docker-compose-deployment.md.