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/restapiKeepManagementURL=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/restapiset config KeepManagementURL=http://localhost:8889
Update: Since version V1.1 of the Domino REST API (released on 30 September 2024), the KeepManagementURL parameter is no longer needed. So there’s just one notes.ini parameter to add.
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.
In DRAPI 1.1 we eliminated the need for the KeepManagementURL parameter thanks to the rewritten restapi task (in Rust if you are curious.
Thanks Stephan. That’s good to know. I’ll make a reference in the article
Great article!