-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b17bd71
commit 596b83c
Showing
1 changed file
with
45 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,45 @@ | ||
# keycloak | ||
Configurable Keycloak Docker image | ||
# keycloak [![Docker](https://img.shields.io/docker/v/jeffersonlab/keycloak?sort=semver&label=DockerHub)](https://hub.docker.com/r/jeffersonlab/keycloak) | ||
Configurable [Keycloak](https://www.keycloak.org/) Docker image | ||
|
||
--- | ||
- [Overview](https://github.com/JeffersonLab/keycloak#overview) | ||
- [Quick Start with Compose](https://github.com/JeffersonLab/keycloak#quick-start-with-compose) | ||
- [Configure](https://github.com/JeffersonLab/keycloak#configure) | ||
- [Release](https://github.com/JeffersonLab/keycloak#release) | ||
--- | ||
|
||
## Overview | ||
This project provides a docker image which extends the production-oriented [keycloak](https://quay.io/repository/keycloak/keycloak) and adds features for development and testing. The Jefferson Lab image sets up a Docker healthcheck and Docker entrypoint, installs client tools (see [lib.sh](https://github.com/JeffersonLab/keycloak/blob/main/scripts/lib.sh)), and adds some default configuration for the Jefferson Lab environment. The entrypoint integrates with the healthcheck such that the container is "healthy" only when keycloak is both running and configured. Configuration is supported via environment variables and a conventional directory named `/docker-entrypoint-initdb.d` of bash scripts that can be overwritten by mounting a volume. | ||
|
||
## Quick Start with Compose | ||
1. Grab project | ||
``` | ||
git clone https://github.com/JeffersonLab/keycloak | ||
cd keycloak | ||
``` | ||
2. Launch [Compose](https://github.com/docker/compose) | ||
``` | ||
docker compose up | ||
``` | ||
3. Navigate to admin console | ||
``` | ||
http://localhost:8080 | ||
``` | ||
*Note*: Login with username `admin` and password `admin` | ||
|
||
## Configure | ||
Mount a volume at `/docker-entrypoint-initdb.d` containing bash scripts to run, ordered by name ascending. See [example](https://github.com/JeffersonLab/keycloak/tree/main/scripts/example/docker-entrypoint-initdb.d). | ||
|
||
Environment variables: | ||
| Name | Description | | ||
|------|-------------| | ||
| KEYCLOAK_FRONTEND_HOSTNAME | Front end hostname | | ||
| KEYCLOAK_FRONTEND_PORT | Front end port | | ||
| KEYCLOAK_SERVER_URL | Backend URL | | ||
| KEYCLOAK_ADMIN | Admin username | | ||
| KEYCLOAK_ADMIN_PASSWORD | Admin password | | ||
|
||
## Release | ||
1. Create a new release on the GitHub Releases page. The release should enumerate changes and link issues. | ||
1. [Publish to DockerHub](https://github.com/JeffersonLab/keycloak/actions/workflows/docker-publish.yml) GitHub Action should run automatically. | ||
1. Bump and commit quick start [image version](https://github.com/JeffersonLab/keycloak/blob/main/docker-compose.override.yml). |