Overview
Recently, due to the degradation of my internet connection, I was unable to use my remote keycloak instance hosted on Digital Ocean New York server. My only choice to be able to develop again is to create a local Keycloak instance.
The bad news is when I ran the container using jboss/keycloak image, I got some error relating to CPU architecture is not supported. I’m using Macbook Air M1, btw.
So I decided to build the image myself.
How to run Keycloak Container if you have M1/M2 mac
For now, you can easily create a new Keycloak instance using this image:
https://hub.docker.com/r/codingpuss/keycloak-silicon
For example, here is my docker-compose file:
version: '3' services: keycloak: container_name: keycloak image: codingpuss/keycloak-silicon:16.1.1 restart: always env_file: ./keycloak.env depends_on: - keycloak_db ports: - "18080:8080" networks: - keycloak-net keycloak_db: container_name: keycloak_db image: mariadb:10.6.0 restart: always volumes: - keycloak_db_vol:/var/lib/mysql env_file: - ./keycloak-db.env networks: - keycloak-net volumes: keycloak_db_vol: networks: keycloak-net:
The keycloak.env file:
KEYCLOAK_USER=kc_dev KEYCLOAK_PASSWORD=kc_dev1231232 KEYCLOAK_EXTRA_ARGS="-Dkeycloak.profile.feature.upload_scripts=enabled" DB_VENDOR=mariadb DB_ADDR=keycloak_db:3306 DB_DATABASE=keycloak_1 DB_USER=root DB_PASSWORD=root
The keycloak-db.env file
MYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=keycloak_1
That’s it! You can run keycloak on Apple Silicon CPU now.
For the curious
If you want to build your own image using different keycloak versions, this is the GitHub repo
I build softwares that solve problems. I also love writing/documenting things I learn/want to learn.