Installing Domino REST API in an existing Domino container server

The Domino REST API, a.k.a. DRAPI, is a requirement for running HCL Volt MX Go. On a native Domino server, it’s an add-on that you can install. The installation will install files in both a special install directory, the Domino program directory and the Domino data directory.

On a Domino server using Domino container images, you need a Domino image with the REST API included. After all, the Domino program directory is not persistent, which means that any addition to this directory that was added in the container and not in the image, is lost when the Domino container is stopped and restarted. Something that happens whenever you reboot the host machine. Luckily, the Domino container community image build tool includes the Domino REST API in the build menu, so it’s easy to add.

HCL Domino Container Community Image
------------------------------------

(D) HCL Domino [X] 14.0FP2IF1
(O) OnTime [ ]
(V) Verse [ ]
(T) Traveler [ ]
(N) Nomad Server [ ]
(L) Language Pack [ ]
(R) REST-API [X] 1.1
(A) C-API SDK [ ]
(P) Domino Leap [ ]
(G) Borg Backup [ ]

(I) Test created image [ ]

(W) Write selection
(E) Edit selection
(C) Configuration
(H) Help


Base Image : RedHat UBI 9 minimal

Select software & Options, [B] to build, [Q] to cancel?

This add-on adds the files to all the right locations and adds the notes.ini parameters to the notes.ini in the skeleton directory. There’s one problem. If it’s an existing Domino container server, which is based on either an existing native server or a Domino container image that didn’t include the REST-API, your notes.ini won’t contain the needed parameters. The result will be an error message when you try to start the REST-API:

load restapi
10/02/2024 16:01:46 Starting Domino REST API
10/02/2024 16:01:46 REST API : ERROR: Missing notes.ini variable KeepInstallDir
10/02/2024 16:01:46 REST API : The Directory for Domino REST API cannot be found, please check your notes.ini

You’re missing these two parameters:

KeepInstallDir=/opt/hcl/restapi
KeepManagementURL=http://localhost:8889

So the solution is simple. Either you add these parameters straight to the notes.ini of a stopped server, or you type this in the console of your running server:

set config KeepInstallDir=/opt/hcl/restapi
set config KeepManagementURL=http://localhost:8889

After that, your Domino REST API service will load without problems.

load restapi
10/02/2024 16:06:25 Starting Domino REST API
10/02/2024 16:06:28 {
10/02/2024 16:06:28 "vendor" : "HCL Labs",
10/02/2024 16:06:28 "name" : "HCL Domino REST API core API",
10/02/2024 16:06:28 "image-build" : "2024-06-07T12:11:45Z",
10/02/2024 16:06:28 "version" : "v1.0.14 (Build 1.31.2-315)",
10/02/2024 16:06:28 "desc" : "Next generation APIs for HCL Domino",
10/02/2024 16:06:28 "Verticles loaded" : 0,
10/02/2024 16:06:28 "Active handler classes" : 0,
10/02/2024 16:06:28 "active requests" : 0,
10/02/2024 16:06:28 "active agents" : 0,
10/02/2024 16:06:28 "apiPlatform" : "server",
10/02/2024 16:06:28 "runtime" : "0 days, 0 hours, 0 minutes, 1 seconds."
10/02/2024 16:06:28 }
10/02/2024 16:06:28 Domino Rest API Initialization complete.