java -version
sudo apt-get update
sudo apt install openjdk-17-jrecd /projects/keycloak
sudo wget https://github.com/keycloak/keycloak/releases/download/23.0.4/keycloak-23.0.4.zip
unzip keycloak-23.0.4.zip
rm keycloak-23.0.4.zip
cd keycloak-23.0.4/
cp -r . ..
cd ..
rm -r keycloak-23.0.4/As result - unzipped keycloak app will be in the /projects/keycloak folder
cd ../home/pi/projects/keycloak/conf/
sudo nano keycloak.confdb=postgres
db-username=postgres
db-password=MyDocker6
proxy=edge
hostname=http://192.168.0.65:8845
NOTE: Create database keycloak manually
Admin user can be added by accessing the portal locally. Or by specifying it with first run as environment variables. So, to create it, we will run keycloak locally in development mode:
export KEYCLOAK_ADMIN=mike-admin //<username>
export KEYCLOAK_ADMIN_PASSWORD=WrhMZWXcYc6Q8Js //<password>
./kc.sh start-devNOTE: After running keycloak in dev mode, run:
sudo ./kc.sh build- Create a group
keycloak
sudo groupadd keycloak- Create a system user
keycloakwith home directory/projects/keycloak(-rmeans system user,-s- login shell option)
sudo useradd -r -g keycloak -d /home/pi/projects/keycloak -s /sbin/nologin -c "Keycloak service user" keycloak- Give new user ownership and permissions to Keycloak installation folder
# under `/projects` folder. This command gives an ownership to user `keycloak` (first) to folder `keycloak` (last)
sudo chown -R keycloak: keycloak
sudo chmod o+x /home/pi/projects/keycloak/bin/- Copy a service file
[Unit]
Description=The Keycloak Server
After=syslog.target network.target
Before=httpd.service
[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
User=keycloak
Group=keycloak
LimitNOFILE=102642
PIDFile=/var/run/keycloak/keycloak.pid
ExecStart=/home/pi/projects/keycloak/bin/kc.sh start
WorkingDirectory=/home/pi/projects/keycloak/bin/
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
scp -r ./keycloak.service pi@192.168.0.65:/home/pi/projects- Register a service as
systemctl
ssh:
#Copy service file to the system dir:
sudo cp keycloak.service /etc/systemd/system/keycloak.service
# Restart daemon
sudo systemctl daemon-reload
# Start services
sudo systemctl start keycloak.service
# Enable auto start
sudo systemctl enable keycloak.servicedocker run -p 8070:8080 -e KEYCLOAK_ADMIN=<username> -e KEYCLOAK_ADMIN_PASSWORD=<password> quay.io/keycloak/keycloak:22.0.5 start-dev- Go to
http://localhost:8070/admin/ - Create new realm (
photo-library) - Create new user (set e-mail verified)
- Go to credentials and set password for created user
- Open admin console. Go to clients, click Create
- Set up id (
photo-library-app), add name (optional), choose OpenID - Setup valid redirect URL (
http://localhost:3000or prod root url) - Setup valid origins (
http://localhost:3000or prod root url)