From b7fd9f90d5f7e563866138f477da324b4dbffd6d Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Thu, 22 Feb 2024 16:33:04 +0100 Subject: [PATCH] Fix docker compose distribution and add ui deployment (#4363) --- distro/docker-compose/README.md | 14 ++++---- .../resources/docker-compose.apicurio.yml | 33 +++++++++++++++---- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/distro/docker-compose/README.md b/distro/docker-compose/README.md index 4e44dd2e98..a64675bfd3 100644 --- a/distro/docker-compose/README.md +++ b/distro/docker-compose/README.md @@ -36,7 +36,9 @@ This setup contains a fully configured Apicurio Registry package already integra Here is the port mapping: - 8080 for Keycloak -- 8081 for the Registry +- 8081 for the Registry API +- 8888 for the Registry UI + #### Starting the environment @@ -57,15 +59,15 @@ docker system prune --volumes The Keycloak instance is already configured, you don't have to create the realms manually. At the first start there are no default users added to Keycloak. Please navigate to: -`http://YOUR_IP:8090` +`http://YOUR_IP:8080` -The default credentials for Keycloak are: `admin` and the password can be found in the previously generated `.env` file, under `KEYCLOAK_PASSWORD`. +The default credentials for Keycloak are: `admin` and the password is also `admin`. Select Registry realm and add a user to it. You'll need to also assign the appropriated role. - #### Login to Apicurio and Keycloak -Apicurio URL: `http://YOUR_IP:8080` -Keycloak URL: `http://YOUR_IP:8090` +Apicurio Registry UI URL: `http://YOUR_IP:8888` +Apicurio Registry API URL: `http://YOUR_IP:8081` +Keycloak URL: `http://YOUR_IP:8080` diff --git a/distro/docker-compose/src/main/resources/docker-compose.apicurio.yml b/distro/docker-compose/src/main/resources/docker-compose.apicurio.yml index d624f03b2b..7e522d4035 100644 --- a/distro/docker-compose/src/main/resources/docker-compose.apicurio.yml +++ b/distro/docker-compose/src/main/resources/docker-compose.apicurio.yml @@ -7,11 +7,13 @@ volumes: services: keycloak-server: container_name: keycloak-apicurio - image: quay.io/keycloak/keycloak:19.0.2 + image: quay.io/keycloak/keycloak:23.0.7 environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: admin - KC_HOSTNAME_URL: http://localhost:8080 + KC_HOSTNAME: "localhost" + KC_HOSTNAME_PORT: "8080" + KC_HOSTNAME_STRICT_BACKCHANNEL: "false" command: - start-dev - --import-realm @@ -27,22 +29,39 @@ services: POSTGRES_USER: apicurio-registry POSTGRES_PASSWORD: password - app: - image: apicurio/apicurio-registry-sql:latest-snapshot + backend: + image: quay.io/apicurio/apicurio-registry@sha256:3cf8b1a8b67ef1efff872556f642751f432eec8d1b704d45adececeff86a3222 environment: REGISTRY_DATASOURCE_URL: 'jdbc:postgresql://database-apicurio:5432/apicurio-registry' REGISTRY_DATASOURCE_USERNAME: apicurio-registry REGISTRY_DATASOURCE_PASSWORD: password + REGISTRY_STORAGE_KIND: "sql" + REGISTRY_STORAGE_DB_KIND: "postgresql" AUTH_ENABLED: "true" KEYCLOAK_REALM: registry QUARKUS_HTTP_PORT: 8081 - LOG_LEVEL: "DEBUG" KEYCLOAK_URL: "http://localhost:8080" + LOG_LEVEL: "DEBUG" + REGISTRY_UI_CONFIG_AUTH_KEYCLOAK_URL: "http://localhost:8080" + QUARKUS_OIDC_AUTH_SERVER_URL: "http://keycloak-server:8080/realms/registry" + TOKEN_ENDPOINT: "http://keycloak-server:8080/realms/registry/protocol/openid-connect/token" KEYCLOAK_API_CLIENT_ID: registry-api - KEYCLOAK_UI_CLIENT_ID: apicurio-registry - REGISTRY_AUTH_URL_CONFIGURED: "http://host.docker.internal:8080/realms/registry" + REGISTRY_UI_AUTH_OIDC_CLIENTID: apicurio-registry + QUARKUS_OIDC_TLS_VERIFICATION: "none" + CORS_ALLOWED_ORIGINS: '*' + QUARKUS_PROFILE: "prod" ports: - 8081:8081 depends_on: - postgres - keycloak-server + + ui: + image: quay.io/apicurio/apicurio-registry-ui@sha256:ec60369e36cafd68e7af6f87df397c54975bbb71530744810822cf4aab2159d9 + environment: + REGISTRY_API_URL: "http://localhost:8081/apis/registry/v3" + ports: + - 8888:8080 + depends_on: + - backend + - keycloak-server