IBM Support

Deploy OpenPages on Docker with TFUI Docker images

How To


Summary

When deploying OpenPages 8.2.0.3 on Docker with only the Task Focused UI, the procedure differs slightly from other versions. These instructions take you through the process of installing Docker, loading the images, and deploying OpenPages 8.2.0.3 with only the Task Focused UI.

Environment

Hardware requirements
16GB or higher RAM
100GB or more free disk space
OS requirements
RHEL7 / CentOS7 (linux kernel version 3.10 or higher)
RHEL7: enable extras RHEL repository by this command:
$ sudo yum-config-manager --enable rhel-7-server-extras-rpms
CentOS7: enable extras repository by this command:
$ sudo yum-config-manager --enable extras

Steps

Install Docker Engine
Follow this page to install the docker engine (OpenPages supports version 18.09.2 or later):
Recommended to create a docker group and add yourself to the group to make the rest of the steps easier.  Read the "Manage Docker as a non-root user" section on the "Docker Post install" page:
Recommended to configure starting docker engine at boot as well.  Read the "Configure Docker to start on boot" section on the "Docker Post install" page:
Install Docker Compose
Docker Compose allows you to manage a deployment that consists of multiple containers easily. You can load the images that are required for multiple containers and start up the containers in a certain manner in an isolated network.  We provide a docker-compose.yml file that allows you to run OpenPages on your system quickly.
Follow this page to install docker-compose:
Now you are ready to deploy the OpenPages Docker images!
Copy the OpenPages Docker images and other supporting files
Create a directory (for example, OPDocker) as your OpenPages Docker working directory.
Copy the following files to this directory:
  • <opversion_to_deploy>.tar.gz
  • .env (make sure the file name starts with a dot -- sometimes the leading dot is removed when you download the file)
  • docker-compose .yml
Load the OpenPages Docker images
Find the gzip file for the OpenPages Docker images in the media, and load the images by the following command in the terminal:
$ docker load -i <opversion_to_deploy>.tar.gz
For example:
$ docker load -i op8.2.0.3-onlyTFUI.tar.gz
This may take a while, as the docker images are fairly large.
Start OpenPages
Ensure the .env and docker-compose.yml files are in the same directory.
Optionally, you can change the configuration by editing the .env file.  A couple of things to note:
  • Pay attention to the OPVER variable -- it has to match the OpenPages version that you are going to deploy.
  • You can specify the timezone of the containers using the TZ variable.  The default value is US eastern time.
We do not recommend editing docker-compose.yml unless you have a good understanding on how docker works.
Open a terminal and ensure the HOSTNAME variable is available and set to the fully-qualified domain name.  During the container startup, the application URLs are configured based on the HOSTNAME variable.  Check the variable with a command like this:
$ echo $HOSTNAME
If your terminal does not have it, or it is set to the hostname without the domain, set it in the terminal and export it:
$ export HOSTNAME=`hostname -f`
In the directory containing the .env and docker-compose.yml files, run this command:
$ docker-compose up -d
Wait 10 minutes or so while the containers finish starting up.
Disable JWT authentication
The OpenPages TFUI-only Docker images are based on the images used for OpenPages on Cloud Pak for Data.  OpenPages 8.2.0.3 introduced a new form of authentication for the Cloud Pak version that doesn't work with standard Docker deployments, so it needs to be disabled when deploying containers with docker-compose.
Follow these instructions to disable the JWT authentication:
  1. If you don't already know it, determine the name of your opapp container.  Run docker ps to see a list of running containers, and look for the value under the NAMES column that contains "opapp".  It's usually of the format <docker-compose-folder>_<container-type>_1 (e.g. opdocker_opapp_1).
  2. Copy the WLP config file op-apps.xml from the opapp Docker container to your host:
    $ docker cp <opapp_container>:/opt/ibm/wlp/usr/servers/defaultServer/op-apps.xml ./op-apps.xml
  3. Edit op-apps.xml, locate the following line, and comment it out:
    <mpJwt id="cpdjwt" authFilterRef="opJWTAuthFilter" issuer="KNOXSSO" jwksUri="https://ibm-nginx-svc.${ZEN_CONTROL_PLANE_NS}.svc.cluster.local/auth/jwtpublic" userNameAttribute="username" groupNameAttribute="permissions" audiences="DSX"/>
    Save the file.
  4. Copy the modified op-apps.xml from your host back into the opapp Docker container:
    $ docker cp ./op-apps.xml <opapp_container>:/opt/ibm/wlp/usr/servers/defaultServer/op-apps.xml
  5. Wait a few seconds for the WLP configuration to update.  When you run docker logs <opapp_container> and see a line at the bottom with the message:
    The server configuration was successfully updated in #### seconds.
    then you're ready to continue.
Access OpenPages
After this, you can access OpenPages from the following URL:
https://<your-linux-host>:10111/

Additional Information

Post-install notes
The administrator account for OpenPages is:
username:  OpenPagesAdministrator
password:  passw0rd
The first time you navigate to the URL, you'll get a security warning due to using a self-signed SSL certificate.  This is expected -- click Advanced and then Proceed to accept the warning.
Stop and restart OpenPages
Docker Compose makes it really easy to stop and restart OpenPages.
To stop OpenPages, run
$ docker-compose stop
To (re)start OpenPages, run
$ docker-compose start
Note that the start/stop commands do not remove containers, so it preserves any loaded data or configuration changes you've made.
Check status of containers
You can check the container status by multiple ways
$ docker ps
This command lists all the active containers and information about each, including the source image, startup command, run status, port configurations, and container names.
If you add the -a option, it'll also list stopped containers.
If you see a container that has exited when it should still be active, try restarting it with docker start <container_name>.  See the cheatsheet_deployment_info_only_TFUI.txt file included in your docker kit for a list of docker containers that should be active in a successful OpenPages deployment.
$ docker stats
This command shows CPU, memory, and I/O usage of the containers.  By default, it streams the container status.
$ docker logs <container_name>
This command allows you to check the console output of the container.
$ docker exec <container_name> <command>
You can run a single command on the container with this.  You can even open an interactive bash terminal in the container with:
$ docker exec -it <container_name> /bin/bash
Clean up
$ docker-compose down -v    # stops and removes containers
$ docker rmi -f $(docker images -q)    # deletes all docker images (helps free up disk space)

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFUEU","label":"IBM OpenPages with Watson"},"ARM Category":[{"code":"a8m50000000L0auAAC","label":"Docker"}],"ARM Case Number":"","Platform":[{"code":"PF016","label":"Linux"}],"Version":"8.2.0"}]

Document Information

Modified date:
23 June 2021

UID

ibm16465579