Configuring HCL Traveler on Docker

This topic describes Traveler specific configuration items for Docker.

Traveler on Docker is a Domino on Docker server that has Traveler installed. Domino configuration needs to be completed after installation. There are several options for performing the initial Domino configuration. The method you choose affects how you perform the Traveler configuration.

Be aware that some of the Domino parameters contain passwords. If you are using Domino one-touch config and want to avoid saving the passwords in the config files or environment variables, the Domino one-touch config process provides a secure mechanism to do that. For more information, see Specifying passwords indirectly.

The following sections describe the Traveler items that need to be set in addition to the base Domino configuration items:

Mapping Traveler ports into the Docker image

The docker run command maps ports from the docker host system into the hosted docker image so that applications running inside the image that listen on those ports can receive inbound connection requests. Traveler requires these ports to be mapped, in addition to the ports already mapped for Domino server use:
Ports          Usage
-------------- ------------------------------------
80, 443        HTTP(S) for inbound requests from mobile devices
50125,50126    Traveler inter-process communication

Configuring Domino to start Traveler automatically when the server starts

You can use one-touch Domino configuration and specify the property to add TRAVELER to the ServerTasks entry in the notes.ini and Traveler automatically start after auto config. If one-touch Domino configuration is not used the notes.ini should be edited to manually add TRAVELER to the ServerTasks entry in the notes.ini

To allow Traveler to start during the first run, you can preconfigure Domino to append TRAVELER to the ServerTasks list as part of one-touch config. Use the following system environment variable: SERVERSETUP_SERVER_ADDITIONALSERVERTASKS=Traveler

or the following JSON key:value pair:
"serverSetup": {
        "server": {
               "additionalServerTasks":"Traveler"
        }
}

This causes Domino to append Traveler to the ServerTasks list before initialization runs.

Using JSON to set NTS_ settings in notes.ini

On initial setup you can specify NTS_ settings in a one touch Setup json file. For more information, see the notesINI parameter in Preparing input paramters in a JSON file in the Domino documentation.

This mechanism can be used to override default Traveler settings. For example, by default the script sets NTS_AUTOSTART_HTTP=true in notes.ini because that is the recommended setting for Traveler servers. However, as described in Starting and stopping the server, you may want to set environment variable NTS_AUTOSTART_HTTP=false in the Docker image if you need the HTTP task to continue to run in your Domino Docker image even when Traveler is stopped.

Setting the external URL for the Traveler server

Setting the external server URL describes how to set the Traveler server’s URL that mobile devices use to connect to Traveler. It also includes a description of the JSON to be used to set the URL in the Domino server document if you are using one-touch Domino config with a JSON file.

This is important for Docker because the hostname of the Docker image might not be externally visible to mobile devices. Instead, the hostname or IP address of the node that hosts the Docker image might need to be used.

Configuring an enterprise database server

By default, the Traveler on Docker node will use a Derby database for tracking. If you want to configure Traveler on Docker to use an enterprise database, as described in Configuring HCL Traveler for enterprise database, you can run an interactive bash shell as root user (docker exec -it -u 0 <container name> bash) in order to run the travelerUtil program inside the container. The JDBC drvier must be copied into a data volume such as /local/notesdata and available inside the container in order for Traveler to start. A docker cp command is use to copy the JDBC driver into the container:
docker cp /tmp/<jdbcdriver.jar> <container name>:/local/notesdata

Alternatively, you can set the enterprise database configuration using NTS_DB* notes.ini variables in a one-touch Domino JSON setup file. The JDBC driver still need to be copied into the container by using docker cp command. You may need to start Traveler since the JDBC driver file may not be there in time for the initial setup and starting of the Domino server.

Upgrading a Traveler on Docker image

HCL periodically issues new Docker images containing the latest Domino and/or Traveler fixes. The process for starting a new Traveler on Docker image with a previously configured Docker /local/notesdata volume is simpler because the initial Domino configuration has already been done.

For more information, see Upgrading a containerized Domino server in the Domino documentation.

Related topics:

Configuring HCL Traveler on Docker examples

Planning HCL Traveler on Docker