Docker Swarm : Stack Keycloak (v19 latest)

Docker Swarm : Stack Keycloak (v19 latest)

Table of Content

Informations importantes

  • Nécéssite le stack pour traefik voir ici : https://slash-root.fr/docker-swarm-stack-traefik/
  • Cette stack est faites pour du développement (avec persistance des données) et non de la production
  • Bien modifier ce qu'il faut dans le stack (voir commentaires)

Fichier stack.yml

version: '3.3'

services:

  app:
    image: quay.io/keycloak/keycloak:latest
    security_opt:
      - no-new-privileges:true
    command: start-dev
    environment:
      PROXY_ADDRESS_FORWARDING: "true"
      KC_FEATURES: token-exchange
      KC_PROXY: passthrough
      KEYCLOAK_ADMIN: admin
      # Indiquer un mot de passe pour le compte admin sur l'application keycloak
      KEYCLOAK_ADMIN_PASSWORD: MotDePasseTresSecure

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /etc/localtime:/etc/localtime:ro
      # Indiquer les volumes à monter. Si le volume est inexistant, il sera créé automatiquement. Attention si contexte de cluster (swarm), penser à placer une contrainte de label.
      - conf:/opt/keycloak/conf
      - data:/opt/keycloak/data
      - providers:/opt/keycloak/providers
      - themes:/opt/keycloak/themes
    networks:
      # Indispensable pour communiquer avec traefik
      - traefik-public
    deploy:
      #resources:
        #limits:
          #cpus: '0.50'
          #memory: 1024M
        #reservations:
          #cpus: '0.25'
          #memory: 512M
      placement:
        constraints:
          - node.labels.keycloak_quay-io_conf == true
          - node.labels.keycloak_quay-io_data == true
          - node.labels.keycloak_quay-io_providers == true
          - node.labels.keycloak_quay-io_themes == true
      labels:
        # Activation de traefik
        - traefik.enable=true
        - traefik.docker.network=traefik-public
        - traefik.constraint-label=traefik-public
        # Indiquer l'URL de l'application (keycloak.example.com)
        - traefik.http.routers.keycloak_quay-io-http.rule=Host(`keycloak.example.com`)
        - traefik.http.routers.keycloak_quay-io-http.entrypoints=http
        - traefik.http.routers.keycloak_quay-io-http.middlewares=https-redirect
        # Indiquer l'URL de l'application (keycloak.example.com)
        - traefik.http.routers.keycloak_quay-io-https.rule=Host(`keycloak.example.com`)
        - traefik.http.routers.keycloak_quay-io-https.entrypoints=https
        - traefik.http.routers.keycloak_quay-io-https.tls=true
        - traefik.http.routers.keycloak_quay-io-https.tls.certresolver=le
        - traefik.http.middlewares.hsts-headers.headers.stsSeconds=315360000
        - traefik.http.middlewares.hsts-headers.headers.stsPreload=true
        - traefik.http.middlewares.hsts-headers.headers.stsIncludeSubdomains=true
        - traefik.http.middlewares.hsts-headers.headers.customFrameOptionsValue=SAMEORIGIN
        - traefik.http.middlewares.hsts-headers.headers.sslRedirect=true
        - traefik.http.middlewares.hsts-headers.headers.forceSTSHeader=true
        - traefik.http.middlewares.hsts-headers.headers.referrerPolicy=same-origin
        - traefik.http.routers.keycloak_quay-io-https.middlewares=hsts-headers
        - traefik.http.services.keycloak_quay-io.loadbalancer.server.port=8080

networks:
  traefik-public:
    external: true

volumes:
  conf:
    driver: local
  data:
    driver: local
  providers:
    driver: local
  themes:
    driver: local

Déploiement

docker stack deploy -c stack.yml keycloak

2 commentaires

Docker Swarm : Stack Keycloak (v16 depreciated) – slash-root.fr Publié le10h40 - 22 août 2022

[…] Ce stack utilise une image docker provenant de jboss qui est un keycloak en v16. La dernière version actuelle est la v19. Stack disponible ici : https://slash-root.fr/docker-swarm-stack-keycloak-v19-latest/ […]

Keycloak : Federation d’un annuaire LDAPS (Active Directory) – slash-root.fr Publié le15h11 - 23 août 2022

[…] Déployé dans docker swarm avec ce stack : https://slash-root.fr/docker-swarm-stack-keycloak-v19-latest/ […]

Les commentaires sont fermés.

Les commentaires sont fermés.