Docker®

Docker® 1:

Diese Anleitung bezieht sich auf die Version 26.5.0 von Keycloak. Es wird trotzdem auf das „latest“ Docker Image verwiesen.

Docker® 2:

Keycloak wird in dieser Anleitung im „dev“ Modus betrieben. Dieser Modus ist rein für Testzwecke.

Installation von Docker® auf TwinCAT Runtime Linux®

Stellen Sie eine Verbindung zum PackageManager von TwinCAT Runtime Linux® her, um das entsprechende Paket zu installieren.
1. Führen Sie eine Aktualisierung der Pakete durch.
sudo apt update
2. Installieren Sie den offizielle GPG key von Docker®.
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
3. Fügen Sie das Docker® Repository hinzu.
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Führen Sie eine Aktualisierung der Pakete durch.
sudo apt update
5. Installieren Sie das Docker® Paket.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. Überprüfen Sie, ob Docker® erfolgreich gestartet wurde.
sudo systemctl status docker
7. Starten Sie Docker®, sofern es noch nicht läuft.
Docker® wurde erfolgreich installiert.
sudo systemctl start docker

Erstellen der YAML-Datei

1. Erstellen Sie im Home Ordner eine neue Ordner Struktur.
mkdir -p docker/keycloak
2. Erstellen Sie eine YAML-Datei für Keycloak.
echo "# Datei: /compose.yaml
services:
  keycloak:
    image: quay.io/keycloak/keycloak:latest
    environment:
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: 1
      KC_HTTP_ENABLED: true
    command: [ 'start-dev' ]
    ports:
      - 8080:8080" > /home/Administrator/docker/keycloak/compose.yaml
3. Wechseln Sie nun in den Docker® Ordner sofern Sie alle YAML-Dateien erstellt haben. Haben Sie nur die PostgreSQL YAML-Datei erstellt gehen Sie bitte in den Ordner „“
cd /home/Administrator/docker/keycloak/
4. Erstellen Sie Docker® Container und starten Sie diesen direkt an.
Die Docker® Container wurden erfolgreich erstellt und gestartet.
sudo docker compose up -d
Docker® 3:

Nach dem Starten des Dockers® kann es sein, dass noch nicht alle Services innerhalb des Dockers® zur Verfügung stehen. Es kann eine kurze Zeit dauern, bis diese gestartet wurden.

Docker® 4:

Um die Docker® Container auch außerhalb von einem anderen System zu erreichen, muss die Firewall entsprechend konfiguriert werden. Keycloak Port: 8080

Einstellungen der Firewall

1. Erstellen Sie eine Konfigurationsdatei im Verzeichnis /etc/nftables.conf.d/  beispielsweise mit dem Namen 00-keycloak.conf
sudo nano /etc/nftables.conf.d/00-keycloak.conf
2. Fügen Sie folgenden Inhalt ein und passen Sie die Werte an Ihre Netzwerkanforderungen an:
table inet filter {
  chain input {
    # accept Keycloak
    tcp dport 8080 accept
  }
}
3. Speichern und schließen Sie die Konfigurationsdatei.
4. Laden Sie die neue Regel mit dem Befehl
sudo systemctl reload nftables
5. Überprüfen Sie die Einstellungen und stellen Sie sicher, dass die Konfiguration korrekt angewendet wurde.
Der Port 8080 wurden für Keycloak freigegeben.
sudo nft list ruleset

Konfigurieren Keycloak

1. Öffnen Sie im Browser die folgende URL:
Beispiel für den Platzhalter:
<root> = 192.168.2.144:8080
http://<root>/
2. Melden Sie sich beim Keycloak Server an.
3. Wählen Sie den Reiter Clients.
4. Erstellen Sie einen neuen Client für Ihre TwinCAT HMI Applikation.
5. Benennen Sie Ihren Client
Docker® 5:
6. Schalten Sie die Client authentication auf ein und aktivieren Sie Service account roles
Docker® 6:
7. Tragen Sie die Valid redirect URIs wie in dem Screenshot ein.
Docker® 7:
http://127.0.0.1:*
http://localhost:*
https://127.0.0.1:*
https://localhost:*
8. Klicken Sie auf Save um den neuen Client anzulegen.
Der neue Client wurde erfolgreich angelegt.