"You need local access to create the initial admin user" error while keycloak startup in docker "You need local access to create the initial admin user" error while keycloak startup in docker docker docker

"You need local access to create the initial admin user" error while keycloak startup in docker


You can let the container create the admin user by providing the environment variables KEYCLOAK_USER and KEYCLOAK_PASSWORD:

docker run -e KEYCLOAK_USER=<USERNAME> -e KEYCLOAK_PASSWORD=<PASSWORD> jboss/keycloak

Or add the account to an existing container( Service or container restart required afterwards) with:

docker exec <CONTAINER> /opt/jboss/keycloak/bin/add-user-keycloak.sh -u <USERNAME> -p <PASSWORD>

And either restart containerdocker restart <container>

Or restart the service (@Madeo's answer)

docker exec -it <container> /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command=:reload

The above commands come from the Keycloak Docker image page on Docker Hub.

Regarding your database question, you don't have to provide the tables by hand.You can refer to chapter 6 (§6.4, §6.5) of the Keycloak documentation for the details of how to configure a PostgreSQL DB.


  • Open container bash console
cd /keycloak/binbash ./add-user-keycloak.sh -u admin
  • Enter desired password

  • Restart the container

  • Go to following URL for login

http://dockerIP:8080/auth/admin/


The answer with docker is incomplete and it won't work

If you add the user via docker container you must restart jboss server

docker exec -it keycloak-container /opt/jboss/keycloak/bin/add-user-keycloak.sh -u admin -p admin

and then:

docker exec -it keycloak-container /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command=:reload