diff --git a/sbin/dokku-entrypoint.sh b/sbin/dokku-entrypoint.sh index 722d0ab..6b9ade7 100755 --- a/sbin/dokku-entrypoint.sh +++ b/sbin/dokku-entrypoint.sh @@ -2,23 +2,37 @@ set -eu -o pipefail -setup_root_user() { - set -eu +add_user() { + set -eu - if ! grep -q "$ADMIN_USER" /opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json; then - if /opt/jboss/keycloak/bin/add-user-keycloak.sh -r master -u "$ADMIN_USER" -p "$ADMIN_PASS"; then - echo "=====> root user added" - else - echo "=====> Failed to add root user" - exit 1 - fi + keycloak_add_user_script="/opt/jboss/keycloak/bin/add-user-keycloak.sh" + + if $keycloak_add_user_script -r master -u "$ADMIN_USER" -p "$ADMIN_PASS"; then + echo "=====> root user added" + else + echo "=====> Failed to add root user" + exit 1 + fi +} + +setup_root_user() { + set -eu + + keycloak_add_user_json="/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json" + + if [ ! -f "$keycloak_add_user_json" ]; then + add_user + else + if ! grep -q "$ADMIN_USER" "$keycloak_add_user_json"; then + add_user fi + fi } main() { - set -eu + set -eu - setup_root_user + setup_root_user } main