anybody know how to share the cache between hosts that runs the same docker-compose:
version: '3'
services:
keycloak-clustered-3:
build: ./keycloak
container_name: keycloak-clustered-3
command: start-dev
ports:
- "8080:8080"
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=admin
- KC_DB=mysql
- KC_DB_URL_HOST=dbhost
- KC_DB_URL_DATABASE=keycloak
- KC_DB_USERNAME=keycloak
- KC_DB_PASSWORD=password
- KC_LOG_LEVEL=INFO,org.infinispan:DEBUG,org.jgroups:DEBUG
- JGROUPS_DISCOVERY_EXTERNAL_IP=keycloak-clustered-3
- KC_PROXY=edge
- JGROUPS_DISCOVERY_PROTOCOL=JDBC_PING
networks:
- keycloak-net
keycloak-clustered-4:
build: ./keycloak
container_name: keycloak-clustered-4
command: start-dev
ports:
- "8081:8080"
environment:
- KC_PROXY=edge
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=admin
- KC_DB=mysql
- KC_DB_URL_HOST=dbhost
- KC_DB_URL_DATABASE=keycloak
- KC_DB_USERNAME=keycloak
- KC_DB_PASSWORD=password
- KC_LOG_LEVEL=INFO,org.infinispan:DEBUG,org.jgroups:DEBUG
- JGROUPS_DISCOVERY_EXTERNAL_IP=keycloak-clustered-4
- JGROUPS_DISCOVERY_PROTOCOL=JDBC_PING
networks:
- keycloak-net
nginx:
image: nginx:1.23.4
restart: unless-stopped
container_name: nginx
ports:
- "80:80"
depends_on:
- keycloak-clustered-3
- keycloak-clustered-4
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
networks:
- keycloak-net
networks:
keycloak-net:
i have this config:
- Server 1 & 2 : running docker-compose
- ExternalDatabse
- loadBalancer: switch between the two servers
the cache is shared only on the instances running on the same server, so if you have a solution for this it will be so helpful for me.