Configuring HCL Traveler on Docker
This topic describes Traveler specific configuration items for Docker.
- Remote setup - Deploying a new Domino server on Docker describes how to configure a Domino on Docker image using a remote Domino Admin client to perform the setup.
- One-touch Domino config with system environment variables - Invoking one-touch Domino setup with system environment variables on Docker describes how you can configure and run Domino in one step. The items available to be configured are limited, but are sufficient for setting up a Traveler server.
- One-touch Domino config with a JSON file - Invoking one-touch Domino setup with parameters in a JSON file on Docker describes the steps for defining and using a JSON file containing the Domino configuration items.
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
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
"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
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.