You are viewing the RapidMiner Deployment documentation for version 9.8 - Check here for latest version
Docker-compose template
The template described here will help you to deploy RapidMiner AI Hub on a single host. For multi-host deployments, see the Kubernetes template.
To deploy the docker-compose template:
- [Download] the production template, and follow instructions.
As configured, the template provides the full functionality of RapidMiner AI Hub, including:
- RapidMiner Radoop (Hadoop connectivity)
- RapidMiner Real-Time Scoring (low-latency scoring)
Table of contents
- System requirements
- Instructions
- PUBLIC_URL
- The environment file (.env)
- The definition file (docker-compose.yml)
- Change the default port
System requirements
Minimum recommended hardware configuration
The amount of memory needed depends heavily on the amount of data that will be processed by RapidMiner AI Hub. By themselves, the RapidMiner services can run with as little as 16 GB. However, in production environments, we recommend 32GB or more depending on user data, in order to provide users with enough capacity to analyze data from realistic use cases.
Each virtual or physical machine should at least have:
- Quad core
- 32GB RAM
- >20GB free disk space
If you are using Docker Desktop for Windows (or Mac), please make sure that you have allocated enough memory. The default setting in Docker Desktop is too low for RapidMiner AI Hub.
Instructions
To deploy this template, take the following steps.
- If you have not yet done so, install Docker on Linux / on Windows.
Download the ZIP file. Unzip and examine the contents:
- .env (note that because of the preceding dot, this file is usually hidden)
- docker-compose.yml
gofolder
As discussed in detail below, set the following variables in the
.envfile:PUBLIC_URLSSO_PUBLIC_URL
Set the following variables in the
.envfile, with the values of your licenses from my.rapidminer.com:SERVER_LICENSEGO_LICENSE
(optional) Set additional frequently used configuration values:
- The initial admin password can be set using the variable
KEYCLOAK_PASSWORD(default: "changeit") - The
AUTH_SECRETvalue is used as internal authentication encryption key. We propose to change the default value to any base64 encoded string.
- The initial admin password can be set using the variable
Transfer the contents of the ZIP file, with URLs and licenses configured, to the server host, the machine where you installed Docker.
- Connect to the server host, and change directory to the folder containing those files.
If SSO configuration is not disabled (this is the case by default), then the platform deployment needs to be initialized before the first startup. Wait 1-2 minutes, or until initialization is complete, before executing the next command. In the directory containing
docker-compose.yml, type:docker-compose up -d rm-init-svcFinally, when the above command has completed, start the stack by running the command:
docker-compose up -d
If the Docker images are not available on the host, they will be automatically downloaded from the Docker Hub.
For additional docker-compose hints, see the technology overview.
PUBLIC_URL
The deployed stack needs to have a valid public URL, both for internal communication and so that external clients (like RapidMiner Studio and a browser) can connect to it. In the .env file, before first startup, set the values of the environment variables PUBLIC_URL and SSO_PUBLIC_URL to this public URL.
- The values
http://localhostandhttp://127.0.0.1are not supported, because this URL will be used also for internal container-to-container communication between our services. - If deploying on a single host, use the host's public IP address, such as
http://192.168.1.101or a publicly resolvable hostname that resolves to this IP address, likehttp://platform.rapidminer.com. If the deployment cannot listen on the default HTTP and HTTPS ports (80 and 443), then
- the port number should be also provided in the
PUBLIC_URLandSSO_PUBLIC_URLvariables, as inhttp://platform.rapidminer.com:8080 - the external port mapping should be set in the docker-compose.yml file at the
rm-proxy-svcservice definition, like8080:80 - the external ports should be set using the
PROXY_HTTP_PORTandPROXY_HTTPS_PORTvariables for therm-server-svcin the docker-compose.yml file, likePROXY_HTTP_PORT=8080andPROXY_HTTPS_PORT=8443. (If it is missed during the first startup, or needs to be changed, then later it should be configured in the/rapidminer-home/configuration/standalone.xmlfile at the proxy settings and requires restarting the service.)
- the port number should be also provided in the
It is highly preferred to use HTTPS for the connection. In this case the
PUBLIC_URLandSSO_PUBLIC_URLvariables should be configured using thehttps://prefix and the certificate chain and private key files should be provided in PEM format in thesslsub-folder using the filenamescertificate.crtandprivate.key. The default filenames can be changed using the environment variables in the Proxy section of the.envfile.
Once the deployment is running, the configured reverse proxy listens by default on the standard HTTP (80) port, and also on the HTTPS (443) port if an HTTPS certificate is configured.
The initial login credentials are set in the .env file (by the variables KEYCLOAK_USER and KEYCLOAK_PASSWORD).
By default you can log in using the username "admin" and password: "changeit".
From the landing page at PUBLIC_URL, the full range of services of RapidMiner AI Hub is available.
The environment file (.env)
# ############################################
#
# Global parameters
#
# ############################################
# Public domain of the deployment
PUBLIC_DOMAIN=platform.rapidminer.com
# Public URL of the deployment that will be used for external access (Public domain + protocol + port)
PUBLIC_URL=https://platform.rapidminer.com
# 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=https://platform.rapidminer.com
# Enable/disable the service build into the RapidMiner cloud images, that updates the PUBLIC_URL and SSO_PUBLIC_URL variables to the new dynamic cloud hostname/IP address
AUTOMATIC_PUBLIC_URL_UPDATE_FOR_CLOUD_IMAGES=true
# Enable/disable the Legacy BASIC authentication support for REST endpoints, like webservices. (lowercase true/false)
LEGACY_REST_BASIC_AUTH_ENABLED=false
# Timezone setting
TZ=UTC
# ############################################
#
# Deployment parameters
#
# ############################################
# Prefix to use for docker registry
REGISTRY=rapidminer/
# Version of the Init container
INIT_VERSION=9.8
# Enable configuring server settings for Python Scripting extension
INIT_SHARED_CONDA_SETTINGS=true
# User migration settings for migrating from non-Keycloak-based deployments
USER_MIGRATION_ENABLED=True
USER_MIGRATION_DRY_RUN=False
# ############################################
#
# KeyCloak (SSO)
#
# ############################################
# Keycloak container version
KEYCLOAK_VERSION=9.8
# Keycloak database parameters
KC_DB=kcdb
KC_USER=kcdbuser
KC_PASSWORD=kcdbpass
# Default platform admin user credentials
KEYCLOAK_USER=admin
KEYCLOAK_PASSWORD=changeit
# SSO default parameters
SSO_IDP_REALM=master
SSO_SSL_REQUIRED=none
# ############################################
#
# Rapidminer server
#
# ############################################
SERVER_VERSION=9.8
SERVER_DBHOST=rm-postgresql-svc
SERVER_DBSCHEMA=rapidminer-server-db
SERVER_DBUSER=rmserver-db-user
SERVER_DBPASS=w61J784XSb24K4LRV97MbE16i8xa9O
SERVER_MAX_MEMORY=2048M
RMSERVER_SSO_CLIENT_ID=urn:rapidminer:server
RMSERVER_SSO_CLIENT_SECRET=
SERVER_LICENSE=
RAPIDMINER_SERVER_HOST=rm-server-svc
RAPIDMINER_SERVER_PORT=8080
RAPIDMINER_SERVER_URL=http://rm-server-svc:8080
AUTH_SECRET=TTY5MjUxbzRBN2ZIWThpNGVKNGo4V2xqOHk0dTNV
BROKER_ACTIVEMQ_USERNAME=amq-user
BROKER_ACTIVEMQ_PASSWORD=M69251o4A7fHY8i4eJ4j8Wlj8y4u3U
# ############################################
#
# Job Agent
#
# ############################################
JOBAGENT_QUEUE_ACTIVEMQ_URI=failover:(tcp://rm-server-svc:5672)
JOBAGENT_CONTAINER_COUNT=2
JOB_QUEUE=DEFAULT
JOBAGENT_CONTAINER_MEMORYLIMIT=2048
#RAPIDMINER_JOBAGENT_OPTS="-Djobagent.python.registryBaseUrl=http://platform-admin-webui-svc:1082/"
RAPIDMINER_JOBAGENT_OPTS=
RAPIDMINER_SERVER_PROTOCOL=http
# ############################################
#
# Proxy
#
# ############################################
PROXY_VERSION=9.8
JUPYTER_BACKEND=http://rm-jupyterhub-svc:8000
JUPYTER_URL_SUFFIX=/jupyter
GRAFANA_BACKEND=http://rm-grafana-svc:3000
GRAFANA_URL_SUFFIX=/grafana
PA_BACKEND=http://platform-admin-webui-svc:1082/
PA_URL_SUFFIX=/platform-admin
RTS_WEBUI_BACKEND=http://platform-admin-webui-svc:1082/
RTS_WEBUI_URL_SUFFIX=/rts-admin
RTS_SCORING_BACKEND=http://rts-agent-svc:8090/
RTS_SCORING_URL_SUFFIX=/rts
KEYCLOAK_BACKEND=http://rm-keycloak-svc:8080
LANDING_BACKEND=http://landing-page
TOKEN_BACKEND=http://rm-token-tool-svc
TOKEN_URL_SUFFIX=/get-token
ALLOW_LE=true
LE_BACKEND=http://letsencrypt-svc:84
PASSWORD_FILE_PATH=/etc/nginx/ssl/password.txt
HTTPS_CRT_PATH=/etc/nginx/ssl/certificate.crt
HTTPS_KEY_PATH=/etc/nginx/ssl/private.key
HTTPS_DH_PATH=/etc/nginx/ssl/dhparam.pem
PROXY_DATA_UPLOAD_LIMIT=10240M
# ############################################
#
# Jupyterhub
#
# ############################################
RM_JUPYTER_VERSION=9.8
JHUB_POSTGRES_HOST=rm-jupyterhub-db-svc
JHUB_POSTGRES_DB=jupyterhub
JHUB_POSTGRES_USER=jupyterhubdbuser
JHUB_POSTGRES_PASSWORD=FoExRExzQsL7UpgEYa5sO7mhiGhi3ne
JHUB_HOSTNAME=rm-jupyterhub-svc
JUPYTERHUB_CRYPT_KEY=e0084caa38f521cc985d675168bcf7b7137cf5b0d4a3e8b99d2e3542705584eb
JHUB_DEBUG=False
JHUB_TOKEN_DEBUG=False
JHUB_PROXY_DEBUG=False
JHUB_DB_DEBUG=False
JHUB_SPAWNER_DEBUG=False
JUPYTER_STACK_NAME=default
SSO_NB_UID_KEY=X_NB_UID
SSO_NB_GID_KEY=X_NB_GID
SSO_NB_CUSTOM_BIND_MOUNTS_KEY=X_NB_CUSTOM_BIND_MOUNTS
# Content should be in json format, use quotes here instead of apostrophes
#JUPYTER_NB_CUSTOM_BIND_MOUNTS={"/usr/share/doc/apt":"/tmp/apt","/usr/share/doc/mount/":"/tmp/mount"}
JUPYTER_NB_CUSTOM_BIND_MOUNTS=
DOCKER_NOTEBOOK_CPU_LIMIT=100
DOCKER_NOTEBOOK_MEM_LIMIT=2g
#k8s
#DOCKER_NOTEBOOK_MEM_LIMIT=2G
JHUB_SSO_CLIENT_ID=urn:rapidminer:jupyterhub
JHUB_SSO_CLIENT_SECRET=
JHUB_SPAWNER=dockerspawner
JHUB_API_PROTOCOL=http
JHUB_API_HOSTNAME=rm-jupyterhub-svc
JHUB_PROXY_PORT=8000
JHUB_API_PORT=8001
JHUB_APP_PORT=8081
JHUB_ENV_VOLUME_NAME=rm-coding-shared-vol
#JHUB_CUSTOM_CA_CERTS=${PWD}/ssl/deb_cacerts/
#JHUB_SPAWNER=kubespawner
#JHUB_K8S_CMD: '/entrypoint.sh'
#JHUB_K8S_ARGS: ''
#JHUB_K8S_NAMESPACE=advertisinganalytics
#JHUB_K8S_NODE_SELECTOR_NAME: 'rapidminer.customer'
#JHUB_K8S_NODE_SELECTOR_VALUE: 'rapidminer'
#JHUB_K8S_NOTEBOOK_STORAGE_ACCESS_MODE=ReadWriteOnce
#JHUB_K8S_NOTEBOOK_STORAGE_CAPACITY=5Gi
#JHUB_K8S_NOTEBOOK_STORAGE_CLASS=ms-ebs-us-west-2b
#JHUB_K8S_IMAGE_PULL_SECRET=rm-docker-login-secret
#JHUB_K8S_ENV_PVC_NAME=python-envs-pvc
# ############################################
#
# Radoop Proxy
#
# ############################################
RADOOP_PROXY_VERSION=1.2.1
# Authentication: 'server|jwt|superuser'
RADOOP_PROXY_AUTHENTICATION=superuser
RADOOP_PROXY_SUPERUSERNAME=proxyadmin
RADOOP_PROXY_SUPERUSERPASSWORD=changeit
RADOOP_PROXY_PORT=1081
RADOOP_PROXY_WORKERSPOOLSIZE=100
RADOOP_PROXY_SSL="off"
# ############################################
#
# Platform admin
#
# ############################################
PA_VERSION=9.8
PA_SSO_CLIENT_ID=urn:rapidminer:platform-admin
PA_SSO_CLIENT_SECRET=
PA_DISABLE_PYTHON=false
PA_DISABLE_RTS=false
#
# Coding Environment Storage
#
CES_VERSION=9.8
# ############################################
#
# Real-Time Scoring Agent
#
# ############################################
RTS_VERSION=9.8
RTSUI_VERSION=9.8
WAIT_FOR_LICENSES=1
# ############################################
#
# Grafana
#
# ############################################
RM_GRAFANA_VERSION=9.8
GRAFANA_SSO_CLIENT_ID=urn:rapidminer:grafana
GRAFANA_SSO_CLIENT_SECRET=
# ############################################
#
# TabGo
#
# ############################################
# Used for both TabGo and the TabGo proxy.
TABGO_VERSION=9.8
# Proxy specific settings.
TABGO_PROXY_PORT=4443
TABGO_BACKEND=http://rm-tabgo-svc
# Settings for the TabGo service.
TABGO_MAX_MEMORY=384m
TABGO_PORT=8090
# Rate limit for small requests (e.g., scoring a single data row). The default
# values limit the rate to 10 requests per 5 seconds.
TABGO_SMALL_REQUEST_LIMIT=10
TABGO_SMALL_REQUEST_INTERVAL=5
# Change the log level to DEBUG to log HTTP traffic routed through TabGo.
TABGO_LOG_LEVEL=INFO
# Additional Java options should only be used for debugging.
TABGO_JAVA_OPTIONS=
# ############################################
#
# LetsEncrypt Client
#
# ############################################
LE_VERSION=9.8
# ############################################
#
# Docker Deployment Manager
#
# ############################################
DDM_VERSION=9.8
# ############################################
#
# Landing page
#
# ############################################
RM_LANDING_VERSION=9.8
LANDING_SSO_CLIENT_ID=urn:rapidminer:landing-page
LANDING_SSO_CLIENT_SECRET=
# ############################################
#
# Token Tool
#
# ############################################
TOKEN_SSO_CLIENT_ID=urn:rapidminer:token-tool
TOKEN_SSO_CLIENT_SECRET=
# ############################################
#
# RapidMiner Go
#
# ############################################
## General setup
GO_LICENSE=
GO_AUTH_SECRET=dGhhbmt5b3Vmb3J1c2luZ2F1dG9tb2RlbG9ucHJlbWlzZTIwMTk=
GO_DB_HOST=rapidminer-automodel-db
GO_AMQ_URL=tcp://rapidminer-automodel-activemq:61616
GO_AMQ_USERNAME=next
GO_AMQ_PASSWORD=next
GO_JOB_QUEUE=rapiminder-automodeler-job-queue
GO_JOB_STATUS_QUEUE=rapidminer-automodeler-job-status-queue
GO_JOB_COMMAND_TOPIC=rapidminer-automodeler-job-command-topic
#_JAVA_OPTIONS='-Dlogging.level.root=DEBUG'
GO_JAVA_OPTIONS=
## Resource management
# RapidMiner Go is preconfigured to run on a host (or Docker engine) with 8GB
GO_JOB_CONTAINERS=1
## Docker images
GO_IMAGE_TAG_ROUTING=2.4.1-platform-9.8.0
GO_IMAGE_TAG_RMID=2.4.1
GO_IMAGE_TAG_AM=2.4.1
GO_IMAGE_TAG_JC=2.4.1
GO_IMAGE_TAG_ET=2.4.0
# ############################################
#
# GO ROUTING
#
# ############################################
GO_ROUTING_RMID_HOST_PORT_1=rapidminer-automodel-rmid:8080
GO_ROUTING_AM_HOST_PORT_1=rapidminer-automodeler:8080
GO_ROUTING_EVENT_HOST_PORT=rapidminer-ui-event-tracking:8080
# Docker's internal DNS server
GO_ROUTING_RESOLVER=127.0.0.11
GO_ROUTING_SERVER_NAME=localhost
GO_ROUTING_PROTOCOL=http
# ############################################
#
# GO RMID
#
# ############################################
GO_RMID_SPRING_PROFILES_ACTIVE=db-postgresql,is-saml,on-prem,branding
GO_RMID_FRONTEND_TRACKING_ENABLED=false
GO_RMID_TOKEN_MAX_AGE=86400
GO_RMID_LOGIN_TYPE=LOGIN_TYPE_EXTERNAL
GO_SSO_CLIENT_ID=urn:rapidminer:go
GO_RMID_SAML_KEYSTORE_PASSWORD=bXlrZXlwYXNz
GO_RMID_SAML_KEYSTORE_ALIAS=mykeyalias
# ############################################
#
# GO AUTOMODELER
#
# ############################################
GO_AUTOMODELER_SPRING_PROFILES_ACTIVE=db-postgresql,on-prem,branding
# Maximal Data file size given in bytes upto 2GB
GO_AUTOMODELER_SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=104857600
GO_AUTOMODELER_RMID_BASE_URL=http://rapidminer-automodel-rmid:8080
GO_AUTOMODELER_FRONTEND_TRACKING_ENABLED=true
GO_AUTOMODELER_FILESTORE_MIN_ROW_LIMIT=50
GO_AUTOMODELER_EXECUTION_TASK_LIMIT_PER_USER=4
# Maximal size of RapidMiner result set given in MB
GO_AUTOMODELER_EXECUTION_MAXIMUM_TOTAL_RESULT_SIZE=2000
GO_AUTOMODELER_DATA_IMPORT_MINIMUM_ATTRIBUTE_COUNT=3
GO_AUTOMODELER_DATA_IMPORT_MAXIMUM_ATTRIBUTE_COUNT=500
# ############################################
#
# GO JC
#
# ############################################
GO_JC_SPRING_PROFILES_ACTIVE=on-prem
# ############################################
#
# GO AMQ
#
# ############################################
GO_ACTIVEMQ_CONFIG_DEFAULTACCOUNT=false
GO_ACTIVEMQ_ADMIN_LOGIN=admin
GO_ACTIVEMQ_ADMIN_PASSWORD=admin
# ############################################
#
# GO DB
#
# ############################################
GO_POSTGRES_PASSWORD=pgadminpass
GO_POSTGRES_USER=pgadmin
GO_AUTOMODELER_DB_USER=cookie
GO_AUTOMODELER_DB_PASSWORD=cookiepass
GO_AUTOMODELER_DB_NAME=cookie
GO_RMID_DB_USER=rmid
GO_RMID_DB_PASSWORD=rmid
GO_RMID_DB_NAME=rmid
The definition file (docker-compose.yml)
version: "3.5"
services:
rm-proxy-svc:
image: "${REGISTRY}rapidminer-proxy:${PROXY_VERSION}"
hostname: rm-proxy-svc
restart: always
environment:
- KEYCLOAK_BACKEND=${KEYCLOAK_BACKEND}
- RMSERVER_BACKEND=${RAPIDMINER_SERVER_URL}
- JUPYTER_BACKEND=${JUPYTER_BACKEND}
- JUPYTER_URL_SUFFIX=${JUPYTER_URL_SUFFIX}
- GRAFANA_BACKEND=${GRAFANA_BACKEND}
- GRAFANA_URL_SUFFIX=${GRAFANA_URL_SUFFIX}
- PA_BACKEND=${PA_BACKEND}
- PA_URL_SUFFIX=${PA_URL_SUFFIX}
- TOKEN_BACKEND=${TOKEN_BACKEND}
- TOKEN_URL_SUFFIX=${TOKEN_URL_SUFFIX}
- ALLOW_LE=${ALLOW_LE}
- LE_BACKEND=${LE_BACKEND}
- RTS_WEBUI_BACKEND=${RTS_WEBUI_BACKEND}
- RTS_WEBUI_URL_SUFFIX=${RTS_WEBUI_URL_SUFFIX}
- RTS_SCORING_BACKEND=${RTS_SCORING_BACKEND}
- RTS_SCORING_URL_SUFFIX=${RTS_SCORING_URL_SUFFIX}
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- RTS_BASIC_AUTH=true
- LANDING_BACKEND=${LANDING_BACKEND}
- PASSWORD_FILE_PATH=${PASSWORD_FILE_PATH}
- HTTPS_CRT_PATH=${HTTPS_CRT_PATH}
- HTTPS_KEY_PATH=${HTTPS_KEY_PATH}
- HTTPS_DH_PATH=${HTTPS_DH_PATH}
#- DEBUG_CONF_INIT=true
#- WAIT_FOR_DHPARAM=true
- PROXY_DATA_UPLOAD_LIMIT=${PROXY_DATA_UPLOAD_LIMIT}
ports:
- 80:80
- 443:443
networks:
rm-go-proxy-net:
aliases:
- rm-proxy-svc
- ${PUBLIC_DOMAIN}
rm-platform-int-net:
aliases:
- rm-proxy-svc
- ${PUBLIC_DOMAIN}
jupyterhub-user-net:
aliases:
- ${PUBLIC_DOMAIN}
volumes:
- ./ssl:/etc/nginx/ssl
- platform-admin-uploaded-vol:/rapidminer/platform-admin/uploaded/
letsencrypt-svc:
image: "${REGISTRY}rm-letsencrypt-client:${LE_VERSION}"
hostname: rm-letsencrypt-client-svc
restart: always
environment:
- PUBLIC_URL=${PUBLIC_URL}
- LETSENCRYPT_HOME=/certificates/
- DOMAIN=${PUBLIC_URL}
- WEBMASTER_MAIL=devops@rapidminer.com
- TZ=Europe/Budapest
# ports:
# - 84:84
networks:
rm-platform-int-net:
aliases:
- rm-letsencrypt-client-svc
volumes:
- ./ssl:/etc/letsencrypt/
rm-keycloak-db-svc:
image: postgres:9.6
restart: always
hostname: rm-keycloak-db-svc
environment:
- POSTGRES_DB=${KC_DB}
- POSTGRES_USER=${KC_USER}
- POSTGRES_PASSWORD=${KC_PASSWORD}
volumes:
- keycloak-postgresql-vol:/var/lib/postgresql/data
networks:
rm-idp-db-net:
aliases:
- rm-keycloak-db-svc
rm-keycloak-svc:
image: ${REGISTRY}rapidminer-keycloak:${KEYCLOAK_VERSION}
restart: always
hostname: rm-keycloak-svc
environment:
- DB_VENDOR=POSTGRES
- DB_ADDR=rm-keycloak-db-svc
- DB_DATABASE=${KC_DB}
- DB_USER=${KC_USER}
- DB_SCHEMA=public
- DB_PASSWORD=${KC_PASSWORD}
- KEYCLOAK_USER=${KEYCLOAK_USER}
- KEYCLOAK_PASSWORD=${KEYCLOAK_PASSWORD}
- PROXY_ADDRESS_FORWARDING=true
#- KEYCLOAK_LOGLEVEL=DEBUG
#- ROOT_LOGLEVEL=DEBUG
#- JDBC_PARAMS=ssl=true
depends_on:
- rm-keycloak-db-svc
- rm-proxy-svc
networks:
rm-platform-int-net:
aliases:
- rm-keycloak-svc
rm-idp-db-net:
aliases:
- rm-keycloak-svc
rm-init-svc:
image: "${REGISTRY}rapidminer-deployment-init:${INIT_VERSION}"
restart: "no"
hostname: rm-keycloak-init-svc
depends_on:
- rm-keycloak-svc
- rm-postgresql-svc
environment:
- LEGACY_REST_BASIC_AUTH_ENABLED=${LEGACY_REST_BASIC_AUTH_ENABLED}
- PUBLIC_URL=${PUBLIC_URL}
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
volumes:
- ./.env:/.env
- ./docker-compose.yml:/docker-compose.yml:ro
- keycloak-admin-cli-vol:/root/.keycloak/
- deployed-services-vol:/rapidminer/deployed-services/
- ./go/saml:/go/saml/
- ./go/licenses:/go/licenses/
networks:
rm-platform-int-net:
aliases:
- rm-init-svc
rm-server-db-net:
aliases:
- rm-init-svc
rm-postgresql-svc:
image: "postgres:9.6"
hostname: rm-postgresql-svc
restart: always
environment:
- POSTGRES_DB=${SERVER_DBSCHEMA}
- POSTGRES_USER=${SERVER_DBUSER}
- POSTGRES_PASSWORD=${SERVER_DBPASS}
volumes:
- rm-postgresql-vol:/var/lib/postgresql/data
networks:
rm-server-db-net:
aliases:
- rm-postgresql-svc
rm-server-svc:
image: "${REGISTRY}rapidminer-server:${SERVER_VERSION}"
hostname: rm-server-svc
restart: always
environment:
- PA_BASE_URL=${PA_BACKEND}
- PA_SYNC_DEBUG=False
# This may be useful, if server and platform-admin are not on an internal network
# - PA_SYNC_AUTH_USER=admin
# - PA_SYNC_AUTH_PASS=changeit
- DBHOST=${SERVER_DBHOST}
- DBSCHEMA=${SERVER_DBSCHEMA}
- DBUSER=${SERVER_DBUSER}
- DBPASS=${SERVER_DBPASS}
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- SSO_CLIENT_ID=${RMSERVER_SSO_CLIENT_ID}
- SSO_CLIENT_SECRET=${RMSERVER_SSO_CLIENT_SECRET}
- SSO_SSL_REQUIRED=${SSO_SSL_REQUIRED}
- LEGACY_REST_BASIC_AUTH_ENABLED=${LEGACY_REST_BASIC_AUTH_ENABLED}
- SERVER_MAX_MEMORY=${SERVER_MAX_MEMORY}
- BROKER_ACTIVEMQ_USERNAME=${BROKER_ACTIVEMQ_USERNAME}
- BROKER_ACTIVEMQ_PASSWORD=${BROKER_ACTIVEMQ_PASSWORD}
- JOBSERVICE_AUTH_SECRET=${AUTH_SECRET}
- JUPYTER_URL_SUFFIX=${JUPYTER_URL_SUFFIX}
- GRAFANA_URL_SUFFIX=${GRAFANA_URL_SUFFIX}
# - PROXY_HTTP_PORT=80
# - PROXY_HTTPS_PORT=443
- TZ=${TZ}
- CES_VERSION=${CES_VERSION}
volumes:
- rm-server-bootstrap-vol:/bootstrap.d
- rm-server-home-vol:/persistent-rapidminer-home
- rm-coding-shared-vol:/opt/coding-shared/:ro
depends_on:
- rm-postgresql-svc
networks:
jupyterhub-user-net:
aliases:
- rm-server-svc
rm-platform-int-net:
aliases:
- rm-server-svc
rm-server-db-net:
aliases:
- rm-server-svc
rm-server-job-agent-svc:
image: "${REGISTRY}rapidminer-execution-jobagent:${SERVER_VERSION}"
hostname: rm-server-job-agent-svc
restart: always
environment:
- RAPIDMINER_SERVER_HOST=${RAPIDMINER_SERVER_HOST}
- RAPIDMINER_SERVER_PROTOCOL=${RAPIDMINER_SERVER_PROTOCOL}
- RAPIDMINER_SERVER_PORT=${RAPIDMINER_SERVER_PORT}
- JOBAGENT_QUEUE_ACTIVEMQ_URI=${JOBAGENT_QUEUE_ACTIVEMQ_URI}
- JOBAGENT_QUEUE_ACTIVEMQ_USERNAME=${BROKER_ACTIVEMQ_USERNAME}
- JOBAGENT_QUEUE_ACTIVEMQ_PASSWORD=${BROKER_ACTIVEMQ_PASSWORD}
- JOBAGENT_AUTH_SECRET=${AUTH_SECRET}
- JOBAGENT_CONTAINER_COUNT=${JOBAGENT_CONTAINER_COUNT}
- JOB_QUEUE=${JOB_QUEUE}
- JOBAGENT_CONTAINER_MEMORYLIMIT=${JOBAGENT_CONTAINER_MEMORYLIMIT}
- RAPIDMINER_JOBAGENT_OPTS=${RAPIDMINER_JOBAGENT_OPTS}
- TZ=${TZ}
- INIT_SHARED_CONDA_SETTINGS=${INIT_SHARED_CONDA_SETTINGS}
- CES_VERSION=${CES_VERSION}
volumes:
- rm-server-bootstrap-ja-vol:/bootstrap.d
- rm-coding-shared-vol:/opt/coding-shared/:ro
depends_on:
- rm-server-svc
networks:
rm-platform-int-net:
aliases:
- rm-server-job-agent-svc
rm-radoop-proxy-svc:
image: "${REGISTRY}radoop-proxy:${RADOOP_PROXY_VERSION}"
hostname: rm-radoop-proxy-svc
restart: always
environment:
- AUTHENTICATION=${RADOOP_PROXY_AUTHENTICATION}
- SUPERUSERNAME=${RADOOP_PROXY_SUPERUSERNAME}
- SUPERUSERPASSWORD=${RADOOP_PROXY_SUPERUSERPASSWORD}
- PORT=${RADOOP_PROXY_PORT}
- WORKERSPOOLSIZE=${RADOOP_PROXY_WORKERSPOOLSIZE}
- SSL=${RADOOP_PROXY_SSL}
- SERVERHOST=${RAPIDMINER_SERVER_HOST}
- SERVERPORT=${RAPIDMINER_SERVER_PORT}
#- SCHEME
ports:
# has to be the same number for internal and external ports.
- ${RADOOP_PROXY_PORT}:${RADOOP_PROXY_PORT}
#depends_on:
#- rm-server-svc
platform-admin-webui-svc:
image: "${REGISTRY}rapidminer-platform-admin-webui:${PA_VERSION}"
hostname: platform-admin-webui-svc
restart: always
environment:
- PA_URL_SUFFIX=${PA_URL_SUFFIX}
- RTS_SCORING_URL_SUFFIX=${RTS_SCORING_URL_SUFFIX}
- RTS_SCORING_BACKEND=${RTS_SCORING_BACKEND}
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- SSO_CLIENT_ID=${PA_SSO_CLIENT_ID}
- SSO_CLIENT_SECRET=${PA_SSO_CLIENT_SECRET}
- PA_DISABLE_PYTHON=${PA_DISABLE_PYTHON}
- PA_DISABLE_RTS=${PA_DISABLE_RTS}
- DEBUG=false
- CES_VERSION=${CES_VERSION}
volumes:
- platform-admin-uploaded-vol:/var/www/html/uploaded/
- rts-licenses-vol:/var/www/html/uploaded/licenses/
networks:
jupyterhub-user-net:
aliases:
- platform-admin-webui-svc
rm-platform-int-net:
aliases:
- platform-admin-webui-svc
rm-coding-environment-storage-net:
aliases:
- platform-admin-webui-svc
rts-agent-svc:
image: "${REGISTRY}rapidminer-execution-scoring:${RTS_VERSION}"
hostname: rts-agent-svc
restart: always
environment:
- WAIT_FOR_LICENSES=${WAIT_FOR_LICENSES}
- TZ=${TZ}
volumes:
- rts-deployments-vol:/rapidminer-scoring-agent/home/deployments/
- rts-licenses-vol:/rapidminer-scoring-agent/home/resources/licenses/rapidminer-scoring-agent/
networks:
rm-platform-int-net:
aliases:
- rts-agent-svc
rm-jupyterhub-db-svc:
image: postgres:9.6
hostname: rm-jupyterhub-db-svc
restart: always
environment:
- POSTGRES_DB=${JHUB_POSTGRES_DB}
- POSTGRES_USER=${JHUB_POSTGRES_USER}
- POSTGRES_PASSWORD=${JHUB_POSTGRES_PASSWORD}
volumes:
- jupyterhub-postgresql-vol:/var/lib/postgresql/data
networks:
jupyterhub-db-net:
aliases:
- rm-jupyterhub-db-svc
rm-jupyterhub-svc:
image: "${REGISTRY}rapidminer-jupyterhub-jupyterhub:${RM_JUPYTER_VERSION}"
hostname: rm-jupyterhub-svc
restart: always
environment:
- RM_JUPYTER_VERSION=${RM_JUPYTER_VERSION}
- JHUB_HOSTNAME=${JHUB_HOSTNAME}
- SERVER_BASE_URL=${RAPIDMINER_SERVER_URL}
- POSTGRES_HOST=${JHUB_POSTGRES_HOST}
- POSTGRES_DB=${JHUB_POSTGRES_DB}
- POSTGRES_USER=${JHUB_POSTGRES_USER}
- POSTGRES_PASSWORD=${JHUB_POSTGRES_PASSWORD}
- DOCKER_NOTEBOOK_IMAGE=${REGISTRY}rapidminer-jupyter_notebook:${RM_JUPYTER_VERSION}
- JUPYTERHUB_CRYPT_KEY=${JUPYTERHUB_CRYPT_KEY}
- DOCKER_NOTEBOOK_CPU_LIMIT=${DOCKER_NOTEBOOK_CPU_LIMIT}
- DOCKER_NOTEBOOK_MEM_LIMIT=${DOCKER_NOTEBOOK_MEM_LIMIT}
- JHUB_DEBUG=${JHUB_DEBUG}
- JHUB_TOKEN_DEBUG=${JHUB_TOKEN_DEBUG}
- JHUB_PROXY_DEBUG=${JHUB_PROXY_DEBUG}
- JHUB_DB_DEBUG=${JHUB_DB_DEBUG}
- JHUB_SPAWNER_DEBUG=${JHUB_SPAWNER_DEBUG}
- JUPYTER_STACK_NAME=${JUPYTER_STACK_NAME}
- SSO_NB_UID_KEY=${SSO_NB_UID_KEY}
- SSO_NB_GID_KEY=${SSO_NB_GID_KEY}
- SSO_NB_CUSTOM_BIND_MOUNTS_KEY=${SSO_NB_CUSTOM_BIND_MOUNTS_KEY}
- JUPYTER_NB_CUSTOM_BIND_MOUNTS=${JUPYTER_NB_CUSTOM_BIND_MOUNTS}
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- SSO_CLIENT_ID=${JHUB_SSO_CLIENT_ID}
- SSO_CLIENT_SECRET=${JHUB_SSO_CLIENT_SECRET}
- PUBLIC_URL=${PUBLIC_URL}
- JUPYTER_URL_SUFFIX=${JUPYTER_URL_SUFFIX}
- SSO_USERNAME_KEY=preferred_username
- SSO_RESOURCE_ACCESS_KEY=resource_access
- JHUB_DEFAULT_ENV_NAME=aihub-${RM_JUPYTER_VERSION}-python
- JHUB_SPAWNER=${JHUB_SPAWNER}
- JHUB_API_PROTOCOL=${JHUB_API_PROTOCOL}
- JHUB_API_HOSTNAME=${JHUB_API_HOSTNAME}
- JHUB_PROXY_PORT=${JHUB_PROXY_PORT}
- JHUB_API_PORT=${JHUB_API_PORT}
- JHUB_ENV_VOLUME_NAME=${JHUB_ENV_VOLUME_NAME}
# - JHUB_CUSTOM_CA_CERTS=${JHUB_CUSTOM_CA_CERTS}
# - JHUB_K8S_NAMESPACE=${JHUB_K8S_NAMESPACE}
# - JHUB_K8S_NODE_SELECTOR_NAME=${JHUB_K8S_NODE_SELECTOR_NAME}
# - JHUB_K8S_NODE_SELECTOR_VALUE=${JHUB_K8S_NODE_SELECTOR_VALUE}
# - JHUB_K8S_NOTEBOOK_STORAGE_ACCESS_MODE=${JHUB_K8S_NOTEBOOK_STORAGE_ACCESS_MODE}
# - JHUB_K8S_NOTEBOOK_STORAGE_CAPACITY=${JHUB_K8S_NOTEBOOK_STORAGE_CAPACITY}
# - JHUB_K8S_NOTEBOOK_STORAGE_CLASS=${JHUB_K8S_NOTEBOOK_STORAGE_CLASS}
# - JHUB_K8S_IMAGE_PULL_SECRET=${JHUB_K8S_IMAGE_PULL_SECRET}
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
depends_on:
- rm-jupyterhub-db-svc
- rm-server-svc
networks:
rm-platform-int-net:
aliases:
- rm-jupyterhub-svc
jupyterhub-db-net:
aliases:
- rm-jupyterhub-svc
jupyterhub-user-net:
aliases:
- rm-jupyterhub-svc
rm-coding-environment-storage-svc:
image: "${REGISTRY}rapidminer-coding-environment-storage:${CES_VERSION}"
hostname: rm-coding-environment-storage-svc
restart: always
environment:
- PA_BASE_URL=${PA_BACKEND}
- PA_SYNC_DEBUG=False
networks:
rm-coding-environment-storage-net:
aliases:
- rm-coding-environment-storage-svc
volumes:
- rm-coding-shared-vol:/opt/coding-shared/
rm-grafana-svc:
image: ${REGISTRY}rapidminer-grafana:${RM_GRAFANA_VERSION}
hostname: rm-grafana-svc
restart: always
environment:
- PUBLIC_URL=${PUBLIC_URL}
- GRAFANA_URL_SUFFIX=${GRAFANA_URL_SUFFIX}
#- GF_LOG_LEVEL=debug
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- SSO_CLIENT_ID=${GRAFANA_SSO_CLIENT_ID}
- SSO_CLIENT_SECRET=${GRAFANA_SSO_CLIENT_SECRET}
- TZ=${TZ}
volumes:
- grafana-home:/var/lib/grafana
depends_on:
- rm-grafana-proxy-svc
networks:
rm-platform-int-net:
aliases:
- rm-grafana-svc
rm-grafana-proxy-svc:
image: ${REGISTRY}rapidminer-grafana-proxy:${RM_GRAFANA_VERSION}
hostname: rm-grafana-proxy-svc
restart: always
environment:
- RAPIDMINER_URL=${RAPIDMINER_SERVER_URL}
depends_on:
- rm-server-svc
networks:
rm-platform-int-net:
aliases:
- rm-grafana-proxy-svc
rm-tabgo-proxy-svc:
image: ${REGISTRY}rapidminer-tabgo-proxy:${TABGO_VERSION}
hostname: rm-tabgo-proxy-svc
restart: always
environment:
- HTTPS_CRT_PATH=${HTTPS_CRT_PATH}
- HTTPS_KEY_PATH=${HTTPS_KEY_PATH}
- TABGO_BACKEND=${TABGO_BACKEND}
- TABGO_PORT=${TABGO_PORT}
ports:
- ${TABGO_PROXY_PORT}:443
depends_on:
- rm-proxy-svc
volumes:
- ./ssl:/etc/nginx/ssl
networks:
rm-platform-int-net:
aliases:
- rm-tabgo-proxy-svc
rm-tabgo-svc:
image: ${REGISTRY}rapidminer-tabgo:${TABGO_VERSION}
restart: always
hostname: rm-tabgo-svc
environment:
- TABGO_MAX_MEMORY=${TABGO_MAX_MEMORY}
- TABGO_RMS_HOSTNAME=${RAPIDMINER_SERVER_URL}
- TABGO_GO_HOSTNAME=${PUBLIC_URL}
- TABGO_SMALL_REQUEST_LIMIT=${TABGO_SMALL_REQUEST_LIMIT}
- TABGO_SMALL_REQUEST_INTERVAL=${TABGO_SMALL_REQUEST_INTERVAL}
- TABGO_LOG_LEVEL=${TABGO_LOG_LEVEL}
- _JAVA_OPTIONS=${TABGO_JAVA_OPTIONS}
networks:
rm-platform-int-net:
aliases:
- rm-tabgo-svc
landing-page:
image: ${REGISTRY}rapidminer-deployment-landing-page:${RM_LANDING_VERSION}
restart: always
hostname: landing-page
environment:
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- SSO_CLIENT_ID=${LANDING_SSO_CLIENT_ID}
- SSO_CLIENT_SECRET=${LANDING_SSO_CLIENT_SECRET}
- DEBUG=false
volumes:
- rm-landing-page-vol:/var/www/html/uploaded/
- deployed-services-vol:/rapidminer/deployed-services/
networks:
rm-platform-int-net:
aliases:
- landing-page
rm-token-tool-svc:
image: ${REGISTRY}rapidminer-deployment-landing-page:${RM_LANDING_VERSION}
restart: always
hostname: rm-token-tool
environment:
- PUBLIC_URL=${PUBLIC_URL}
- SSO_PUBLIC_URL=${SSO_PUBLIC_URL}
- SSO_IDP_REALM=${SSO_IDP_REALM}
- SSO_CLIENT_ID=${TOKEN_SSO_CLIENT_ID}
- SSO_CLIENT_SECRET=${TOKEN_SSO_CLIENT_SECRET}
- DEBUG=false
- SSO_CUSTOM_SCOPE=openid info offline_access
- CUSTOM_URL_SUFFIX=${TOKEN_URL_SUFFIX}
- CUSTOM_CONTENT=get-token
volumes:
- rm-token-tool-vol:/var/www/html/uploaded/
networks:
rm-platform-int-net:
aliases:
- rm-token-tool
# ###############################################
#
# RapidMiner GO
#
# ###############################################
# Frontend and API router
rapidminer-automodel-routing:
image: rapidminer/rapidminer-automodel-routing:${GO_IMAGE_TAG_ROUTING}
hostname: rapidminer-automodel-routing
#ports:
# - "30000:80"
environment:
RMID_HOST_PORT_1: ${GO_ROUTING_RMID_HOST_PORT_1}
AM_HOST_PORT_1: ${GO_ROUTING_AM_HOST_PORT_1}
EVENT_HOST_PORT: ${GO_ROUTING_EVENT_HOST_PORT}
RESOLVER: ${GO_ROUTING_RESOLVER}
SERVER_NAME: ${GO_ROUTING_SERVER_NAME}
PROTOCOL: ${GO_ROUTING_PROTOCOL}
depends_on:
- rapidminer-automodeler
- rapidminer-automodel-rmid
restart: always
networks:
rm-go-proxy-net:
aliases:
- rapidminer-automodel-routing
rm-go-int-net:
aliases:
- rapidminer-automodel-routing
rapidminer-automodel-rmid:
image: rapidminer/rapidminer-automodel-rmid:${GO_IMAGE_TAG_RMID}
hostname: rapidminer-automodel-rmid
environment:
SPRING_PROFILES_ACTIVE: ${GO_RMID_SPRING_PROFILES_ACTIVE}
DB_HOST: ${GO_DB_HOST}
DB_USER: ${GO_RMID_DB_USER}
DB_PASSWORD: ${GO_RMID_DB_PASSWORD}
DB_NAME: ${GO_RMID_DB_NAME}
_JAVA_OPTIONS: ${GO_JAVA_OPTIONS}
BASE_URL: ${PUBLIC_URL}
AUTH_SECRET: ${GO_AUTH_SECRET}
RMID_FRONTEND_TRACKING_ENABLED: ${GO_RMID_FRONTEND_TRACKING_ENABLED}
TOKEN_MAX_AGE: ${GO_RMID_TOKEN_MAX_AGE}
LOGIN_TYPE: ${GO_RMID_LOGIN_TYPE}
SAML_ENTITY_ID: ${GO_SSO_CLIENT_ID}
SAML_KEYSTORE_PASSWORD: ${GO_RMID_SAML_KEYSTORE_PASSWORD}
SAML_KEYSTORE_ALIAS: ${GO_RMID_SAML_KEYSTORE_ALIAS}
RMID_FRONTEND_AUTO_LOGIN: "true"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/rmid/system/health"]
restart: always
volumes:
- ./go/saml:/rapidminer-automodel-rmid/saml
- ./go/branding/rmid:/rapidminer-automodeler/branding
depends_on:
- rapidminer-automodel-db
networks:
rm-go-int-net:
aliases:
- rapidminer-automodel-rmid
rapidminer-automodeler:
image: rapidminer/rapidminer-automodeler:${GO_IMAGE_TAG_AM}
hostname: rapidminer-automodeler
environment:
SPRING_PROFILES_ACTIVE: ${GO_AUTOMODELER_SPRING_PROFILES_ACTIVE}
SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE: ${GO_AUTOMODELER_SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE}
_JAVA_OPTIONS: ${GO_JAVA_OPTIONS}
DB_HOST: ${GO_DB_HOST}
DB_USER: ${GO_AUTOMODELER_DB_USER}
DB_PASSWORD: ${GO_AUTOMODELER_DB_PASSWORD}
DB_NAME: ${GO_AUTOMODELER_DB_NAME}
BASE_URL: ${PUBLIC_URL}
RMID_BASE_URL: ${GO_AUTOMODELER_RMID_BASE_URL}
AMQ_URL: ${GO_AMQ_URL}
AMQ_USERNAME: ${GO_AMQ_USERNAME}
AMQ_PASSWORD: ${GO_AMQ_PASSWORD}
AUTH_SECRET: ${GO_AUTH_SECRET}
AUTOMODELER_FRONTEND_TRACKING_ENABLED: ${GO_AUTOMODELER_FRONTEND_TRACKING_ENABLED}
AUTOMODELER_FILESTORE_MIN_ROW_LIMIT: ${GO_AUTOMODELER_FILESTORE_MIN_ROW_LIMIT}
AUTOMODELER_EXECUTION_TASK_LIMIT_PER_USER: ${GO_AUTOMODELER_EXECUTION_TASK_LIMIT_PER_USER}
AUTOMODELER_EXECUTION_QUEUE_LIMIT_PER_USER: ${GO_JOB_CONTAINERS}
AUTOMODELER_EXECUTION_MAXIMUM_TOTAL_RESULT_SIZE: ${GO_AUTOMODELER_EXECUTION_MAXIMUM_TOTAL_RESULT_SIZE}
AUTOMODELER_DATA_IMPORT_MINIMUM_ATTRIBUTE_COUNT: ${GO_AUTOMODELER_DATA_IMPORT_MINIMUM_ATTRIBUTE_COUNT}
AUTOMODELER_DATA_IMPORT_MAXIMUM_ATTRIBUTE_COUNT: ${GO_AUTOMODELER_DATA_IMPORT_MAXIMUM_ATTRIBUTE_COUNT}
JOB_QUEUE: ${GO_JOB_QUEUE}
JOB_STATUS_QUEUE: ${GO_JOB_STATUS_QUEUE}
JOB_COMMAND_TOPIC: ${GO_JOB_COMMAND_TOPIC}
volumes:
- rapidminer_automodel_shared:/rapidminer-automodeler/shared
- ./go/licenses:/rapidminer-automodeler/shared/licenses
- ./go/branding/am:/rapidminer-automodeler/branding
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/am/system/health"]
restart: always
depends_on:
- rapidminer-automodel-activemq
- rapidminer-automodel-db
networks:
rm-go-int-net:
aliases:
- rapidminer-automodeler
rapidminer-automodel-job-container:
image: rapidminer/rapidminer-automodel-job-container:${GO_IMAGE_TAG_JC}
hostname: rapidminer-automodel-job-container
environment:
# Be aware that additional env vars might be set in Dockerfile
# (e.g. JOBCONTAINER_BASEDIR: /rapidminer-automodel-job-container)
SPRING_PROFILES_ACTIVE: ${GO_JC_SPRING_PROFILES_ACTIVE}
_JAVA_OPTIONS: ${GO_JAVA_OPTIONS}
JOB_QUEUE: ${GO_JOB_QUEUE}
JOB_STATUS_QUEUE: ${GO_JOB_STATUS_QUEUE}
JOB_COMMAND_TOPIC: ${GO_JOB_COMMAND_TOPIC}
AMQ_URL: ${GO_AMQ_URL}
AMQ_USERNAME: ${GO_AMQ_USERNAME}
AMQ_PASSWORD: ${GO_AMQ_PASSWORD}
volumes:
- rapidminer_automodel_shared:/rapidminer-automodel-job-container/shared
- ./go/licenses:/rapidminer-automodel-job-container/shared/licenses
depends_on:
- rapidminer-automodeler
restart: always
networks:
rm-go-int-net:
aliases:
- rapidminer-automodel-job-container
rapidminer-ui-event-tracking:
image: rapidminer/rapidminer-ui-event-tracking:${GO_IMAGE_TAG_ET}
hostname: rapidminer-ui-event-tracking
environment:
_JAVA_OPTIONS: ${GO_JAVA_OPTIONS}
DB_HOST: ${GO_DB_HOST}
DB_USER: ${GO_AUTOMODELER_DB_USER}
DB_PASSWORD: ${GO_AUTOMODELER_DB_PASSWORD}
DB_NAME: ${GO_AUTOMODELER_DB_NAME}
depends_on:
- rapidminer-automodeler
restart: always
networks:
rm-go-int-net:
aliases:
- rapidminer-ui-event-tracking
rapidminer-automodel-db:
image: postgres:9.6.6
hostname: rapidminer-automodel-db
volumes:
- rapidminer_automodel_dbdata:/var/lib/postgresql/data
- ./go/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
networks:
rm-go-int-net:
aliases:
- rapidminer-automodel-db
environment:
AUTOMODELER_DB_USER: ${GO_AUTOMODELER_DB_USER}
AUTOMODELER_DB_PASSWORD: ${GO_AUTOMODELER_DB_PASSWORD}
AUTOMODELER_DB_NAME: ${GO_AUTOMODELER_DB_NAME}
RMID_DB_USER: ${GO_RMID_DB_USER}
RMID_DB_PASSWORD: ${GO_RMID_DB_PASSWORD}
RMID_DB_NAME: ${GO_RMID_DB_NAME}
POSTGRES_PASSWORD: ${GO_POSTGRES_PASSWORD}
POSTGRES_USER: ${GO_POSTGRES_USER}
#ports:
# - "5432:5432"
rapidminer-automodel-activemq:
image: webcenter/activemq:5.14.3
hostname: rapidminer-automodel-activemq
environment:
ACTIVEMQ_CONFIG_DEFAULTACCOUNT: ${GO_ACTIVEMQ_CONFIG_DEFAULTACCOUNT}
ACTIVEMQ_ADMIN_LOGIN: ${GO_ACTIVEMQ_ADMIN_LOGIN}
ACTIVEMQ_ADMIN_PASSWORD: ${GO_ACTIVEMQ_ADMIN_PASSWORD}
ACTIVEMQ_OWNER_LOGIN: ${GO_AMQ_USERNAME}
ACTIVEMQ_OWNER_PASSWORD: ${GO_AMQ_PASSWORD}
networks:
rm-go-int-net:
aliases:
- rapidminer-automodel-activemq
#ports:
# - "8161:8161"
# - "61616:61616"
# - "61613:61613"
volumes:
rm-postgresql-vol:
rm-server-bootstrap-vol:
rm-server-home-vol:
rm-server-bootstrap-ja-vol:
platform-admin-uploaded-vol:
rts-deployments-vol:
rts-licenses-vol:
jupyterhub-postgresql-vol:
grafana-home:
keycloak-postgresql-vol:
keycloak-admin-cli-vol:
rm-landing-page-vol:
rm-token-tool-vol:
deployed-services-vol:
rm-coding-shared-vol:
name: ${JHUB_ENV_VOLUME_NAME}
rapidminer_automodel_dbdata:
rapidminer_automodel_shared:
networks:
rm-platform-int-net:
rm-idp-db-net:
jupyterhub-db-net:
rm-server-db-net:
rm-coding-environment-storage-net:
jupyterhub-user-net:
name: jupyterhub-user-net-${JUPYTER_STACK_NAME}
rm-go-int-net:
rm-go-proxy-net:
