crm: # Corrected capitalization for consistency
image: "crm"
build: ../CRM
ports:
- "8084:8084"
environment:
- EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery:8761/eureka/
- spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://keycloak:8080/realms/projectManagement/protocol/openid-connect/certs
- spring.security.oauth2.resourceserver.jwt.issuer-uri=http://keycloak:8080/realms/projectManagement
- JWT_AUTH_CONVERTER_RESOURCE-ID=crm-service
- spring.datasource.url=jdbc:mysql://crm-mysql-service:3306/crm
- spring.datasource.password=root
- JWT_AUTH_CONVERTER_PRINCIPLE-ATTRIBUTE=preferred_username
depends_on:
- discovery
- gateway
- keycloak
networks:
- app-network
keycloak-mysql-service:
image: mysql:latest
environment:
- spring.datasource.username=root
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=keycloak
ports:
- "3309:3306"
networks:
- app-network
keycloak:
image: quay.io/keycloak/keycloak:21.1.1
hostname: keycloak
ports:
- "8080:8080"
environment:
DB_VENDOR: "mysql"
DB_ADDR: "keycloak-mysql-service" # Name of the mysql service
DB_USER: "root"
DB_PASSWORD: "root" # Use the same password as in mysql config
DB_DATABASE: "keycloak"
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
command:
- "start-dev"
networks:
- app-network
````Preformatted text`
this is a sample of my docker compose `Preformatted text`
See my answer in Keycloak does not work with Spring Boot in docker compose - #2 by ThoreKr the environment variables used to configure keycloak are no longer valid.
Additionally, do you have any logs from keycloak or your app?