Categories

Versions

Change the default port for RapidMiner AI Hub

To change the default port for RapidMiner AI Hub, modify the default deployment instructions in the following way, using port 85 and the HTTP protocol as an example.

Edit the .env file

Open the .env file and modify the variables

  • PUBLIC_PORT
  • SSO_PUBLIC_PORT
  • HTTP_PORT
  • HTTPS_PORT

Disabled the default values of:

  • PUBLIC_URL
  • SSO_PUBLIC_URL

then enabled these:

  • PUBLIC_URL=${PUBLIC_PROTOCOL}://${PUBLIC_DOMAIN}:${PUBLIC_PORT}
  • SSO_PUBLIC_URL=${SSO_PUBLIC_PROTOCOL}://${SSO_PUBLIC_DOMAIN}:${SSO_PUBLIC_PORT}

to include the requested protocol and port, similar to the following:

# Public domain of the deployment
PUBLIC_PROTOCOL=http
PUBLIC_DOMAIN=platform.rapidminer.com
PUBLIC_PORT=85

# Public URL of the deployment that will be used for external access (Public domain + protocol + port)
#PUBLIC_URL=${PUBLIC_PROTOCOL}://${PUBLIC_DOMAIN}
# If you run your deployment on a non-standard port, it should be added as well (HTTP_PORT and HTTPS_PORT shall be set too)
PUBLIC_URL=${PUBLIC_PROTOCOL}://${PUBLIC_DOMAIN}:${PUBLIC_PORT}

# Public domain of the SSO endpoint that will be used for external access. In most cases it should be the same as the PUBLIC_DOMAIN
SSO_PUBLIC_PROTOCOL=http
SSO_PUBLIC_DOMAIN=platform.rapidminer.com
SSO_PUBLIC_PORT=85

# Public URL of the SSO endpoint that will be used for external access. In most cases it should be the same as the PUBLIC_URL
#SSO_PUBLIC_URL=${SSO_PUBLIC_PROTOCOL}://${SSO_PUBLIC_DOMAIN}
# If you run your deployment on a non-standard port, it should be added as well (HTTP_PORT and HTTPS_PORT shall be set too)
SSO_PUBLIC_URL=${SSO_PUBLIC_PROTOCOL}://${SSO_PUBLIC_DOMAIN}:${SSO_PUBLIC_PORT}
....
....
....
# Proxy
#
# ############################################

PROXY_VERSION=10.3.0

# Deprecated, please use HTTP_PORT and HTTPS_PORT
UNPRIVILEGED_PORTS=false
# Ports nginx service inside the container is listening
# These ports shall match with the public ports mapped on the docker host
HTTP_PORT=85
HTTPS_PORT=443

PROXY_DATA_UPLOAD_LIMIT=10240MB

Edit docker-compose.yml

Open docker-compose.yml, and make the following changes:

  • Allow - KC_HOSTNAME=${PUBLIC_DOMAIN}:${PUBLIC_PORT}
  • Remove KC_HOSTNAME=${PUBLIC_DOMAIN}.

The result should resemble the following:

  keycloak:
    image: "${REGISTRY}rapidminer-keycloak:${KEYCLOAK_VERSION}"
    restart: always
    hostname: keycloak
    environment:
      - KC_DB=postgres
      - KC_DB_SCHEMA=public
      - KC_DB_URL_HOST=keycloak-db
      - KC_DB_URL_DATABASE=${KEYCLOAK_DBSCHEMA}
      - KC_DB_USERNAME=${KEYCLOAK_DBUSER}
      - KC_DB_PASSWORD=${KEYCLOAK_DBPASS}
      - KC_FEATURES=${KC_FEATURES}
      # If you run your deployment on a non-standard port, it should be added as well
      - KC_HOSTNAME=${PUBLIC_DOMAIN}
      # - KC_HOSTNAME=${PUBLIC_DOMAIN}:${PUBLIC_PORT}

Run docker compose

As usual, run docker compose with the following steps:

docker compose up -d deployment-init

and after a few minutes, when this first command has completed:

docker compose up -d