This is the simplest demo, showing how to run midPoint container along with the default repository based on TIER-provided MariaDB Docker image.

Starting

$ cd demo/simple
$ docker-compose up

After docker-compose up command successfully finishes you should see something like this on the console:

midpoint_server_1  | midpoint;midpoint.log;demo;;2018-09-20 16:25:22,191 [] [main] INFO (org.springframework.boot.web.embedded.tomcat.TomcatWebServer): Tomcat started on port(s): 8080 (http) 9090 (http) with context path '/midpoint'
midpoint_server_1  | midpoint;midpoint.log;demo;;2018-09-20 16:25:22,209 [] [main] INFO (com.evolveum.midpoint.web.boot.MidPointSpringApplication): Started MidPointSpringApplication in 60.512 seconds (JVM running for 61.688)

Now you can log into midPoint using https://localhost:8443/midpoint URL, with an user of administrator and a password of 5ecr3t.

Containers

The demo/simple composition contains two containers:

Container nameDescription
simple_midpoint_server_1This is the standard container providing midPoint functionality. It contains standalone Tomcat running midPoint application, reverse Apache proxy, and TIER Beacon.
simple_midpoint_data_1This container hosts midPoint repository. It contains the MariaDB database created from the TIER MariaDB image.

You can replace midpoint-data with your own Docker container, or even external repository implementation - either on-premises or in cloud. See Alternative repository demonstration section below for more information.

Communication

The containers publish the following TCP ports. (Port mapped to localhost denotes the mapping of container port to the host port where it can be reached from the outside.)

ContainerPort numberPort mapped to localhostDescription
simple_midpoint_server_14438443HTTPS port to be used to connect to midPoint application
80-HTTP port to be used to connect to midPoint application
9090-Tomcat AJP port used for Apache httpd ↔ Tomcat communication
simple_midpoint_data_133063306Port used to connect to the default MariaDB repository

Docker volumes

The following volumes are created to persist data and other relevant files.

Volume nameDescriptionUsed by container
simple_midpoint_homeThe midPoint home directory. Contains schema extensions, logs, custom libraries, custom ConnId connectors, and so on.simple_midpoint_server_1
simple_midpoint_dataVolume hosting MariaDB database used by midPoint.simple_midpoint_data_1
simple_midpoint_mysqlVolume hosting /var/lib/mysql directory.simple_midpoint_data_1

Configuring the composition

The following configuration properties are supported. Please refer to the main documentation page for their explanation.

PropertyDefault value
ENVdemo
USERTOKEN
REPO_DATABASE_TYPEmariadb
REPO_JDBC_URLdefault
REPO_HOSTmidpoint_data
REPO_PORTdefault
REPO_DATABASEregistry
REPO_USERregistry_user
REPO_MISSING_SCHEMA_ACTIONcreate
REPO_UPGRADEABLE_SCHEMA_ACTIONstop
REPO_SCHEMA_VERSION_IF_MISSING
REPO_SCHEMA_VARIANT
MP_MEM_MAX2048m
MP_MEM_INIT1024m
MP_JAVA_OPTS
TIER_BEACON_OPT_OUT
TIMEZONEUTC

You can tailor these to your needs.

The following Docker secrets are used:

SecretLocation
mp_database_password.txtconfigs-and-secrets/midpoint/application/database_password.txt
mp_keystore_password.txtconfigs-and-secrets/midpoint/application/keystore_password.txt
mp_host-key.pemconfigs-and-secrets/midpoint/httpd/host-key.pem

The following configuration files are used:

Target fileSource location
/etc/pki/tls/certs/host-cert.pemconfigs-and-secrets/midpoint/httpd/host-cert.pem
/etc/pki/tls/certs/cachain.pemconfigs-and-secrets/midpoint/httpd/host-cert.pem

You can modify or replace these files as needed.