Skip to content

Instantly share code, notes, and snippets.

@mb00g
Created October 15, 2020 03:00
Show Gist options
  • Save mb00g/b6d84d734d48f3be23873315b114cd95 to your computer and use it in GitHub Desktop.
Save mb00g/b6d84d734d48f3be23873315b114cd95 to your computer and use it in GitHub Desktop.

Use the following to configure PostgreSQL and Keycloak. The key is to run this against a stopped Keycloak (using a fresh install). Save the below to something like setup-keycloak.cli:

embed-server --server-config=standalone.xml --std-out=echo

batch
#
# remove the default provided datasource
#
/subsystem=datasources/data-source=KeycloakDS/:remove

#
# add them
#
module add --name=org.postgres --resources=/path/to/postgresql-42.2.10.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)

/subsystem=datasources/data-source=KeycloakDS/:add(connection-url=jdbc:postgresql://localhost:5432/keycloak_database,driver-name=postgres,jndi-name=java:jboss/datasources/KeycloakDS,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password=keycloak_user,user-name=keycloak_pass)

run-batch

Then run this with $KEYCLOAK_HOME/bin/jboss.sh --file=setup-keycloak.cli.

This removes the KeycloakDS datasource, adds the PostgreSQL module, and recreates the KeycloakDS datasource with your parameters. You can use this to reproduce the configuration any time as long as you have a local copy of the PostgreSQL JDBC driver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment