Build Command Documentation
The build.sh
command is used as the main entry point for building Domino images including add-on software like Traveler, Verse and Domino Leap. Using the build command line and configuration file the build operation can be customized.
The only required parameter is the product to install.
Example: Build the latest Domino container image:
./build.sh domino
Build Configuration File
The build configuration can be used to define the download location for HCL software.
-
DOWNLOAD_FROM=http://192.168.96.170/software
Defines a remote location to download software from. This could be any type of HTTP/HTTPS resource for example a Nexus server. -
SOFTWARE_DIR=/local/software
You can also copy all required software download to a directory and specify the download location. The build process automatically starts a temporary Docker container leveraging NGINX container the data for the Docker build process. -
LinuxYumUpdate=no
Disable updating Linux in the build process -
SPECIAL_CURL_ARGUMENTS="--no-check-certificate"
Additional parameters to pass to the CURL download command. For example disable certificate check for untrusted sources
Build Command Line
The fist option is always the product to install. It can be followed by a specific version to install. Note: If you specify an explicit version, the “latest” tag is not set automatically.
Example:
./build.sh domino 14.0 FP1
Configuration Options
-
cfg
Opens the build configuration -
cpcfg
Copies the configuration document to a standard location
(specified via DOMINO_DOCKER_CFG_DIR, default: /local/cfg)
Build specific Options
-
-checkonly
Checks only if all software is available without starting the build process. This is helpful to prepare a build. -
-verifyonly
Checks if all software is availabe and the checksum matches. -
-nocheck / -check
Explicitly enables or disables checking if all software exists (default: yes) -
-noverify / -verify
Explicitly enables verification of software (default: no) -
-nolinuxupd / -linuxpd
Overwrites default for updating the downloaded Linux image during build.
By default updates are installed by any build operation and images are build without leveraging cache to ensure the image is up to date. -
-from=imagename
Use a specific base image for installation.
This can be a prebuild environment or an alternate Linux base image
There are a couple of pre-defined images, which can be referenced by their short name -
-tag=imagename
Tag image additionally with this tag after build -
-push=imagename
Tag image and push it after build
Software Options
-
-leap=version
Installs specified Domino Leap version.
If invoked without version parameter, latest version will be installed -
-capi=version
Installs specified C-API SDK version.
If invoked without version parameter, latest version will be installed -
-startscript=version
Installs specified Start Script version.
By default the latest start script included in the project will be installed.
Useful when switching to specific or custom start script version.
Reference: Build Usage
HCL Domino Container Build Script
---------------------------------
Version 2.3.0
(Running on docker Version 26.1.1)
Usage: build.sh { domino | safelinx } version fp hf
-checkonly checks without build
-verifyonly checks download file checksum without build
-(no)check checks if files exist (default: yes)
-(no)verify checks downloaded file checksum (default: no)
-(no)url shows all download URLs, even if file is downloaded (default: no)
-(no)linuxupd updates container Linux while building image (default: yes)
cfg|config edits config file (either in current directory or if created in home dir)
cpcfg copies standard config file to config directory (default: /root/.DominoContainer/build.cfg)
-tag=<image> additional image tag
-push=<image> tag and push image to registry
-autotest test image after build
testimage=<img> test specified image
-scan scans a container image with Trivy for known vulnerabilities (CVEs)
-scan=<file> scans a container with Trivy and writes the result to a file
file names ending with .json result in a JSON formatted file (CVE count is written to console)
menu invokes the build menu. the build menu is also invoked when no option is specified
-menu=<file> uses the specified menu name. Default is no menu file is specfied: default.conf
Options
-conf uses the default.conf file to build an image (see menu for details)
-conf=<file> uses the specified file to build an image
-from=<image> builds from a specified build image. there are named images like 'ubi' predefined
-imagename=<img> defines the target image name
-imagetag=<img> defines the target image tag
-save=<img> exports the image after build. e.g. -save=domino-container.tgz
-tz=<timezone> explictly set container timezone during build. by default Linux TZ is used
-locale=<locale> specify Linux locale to install (e.g. de_DE.UTF-8)
-lang=<lang> specify Linux glibc language pack to install (e.g. de,it,fr). Multiple languages separated by comma
-pull always try to pull a newer base image version
-openssl adds OpenSSL to Domino image
-borg adds borg client and Domino Borg Backup integration to image
-verse adds Verse to a Domino image
-nomad adds the Nomad server to a Domino image
-traveler adds the Traveler server to a Domino image
-leap adds the Domino Leap to a Domino image
-capi adds the C-API sdk/toolkit to a Domino image
-domlp=xx adds the specified Language Pack to the image
-restapi adds the Domino REST API to the image
-ontime adds OnTime from Domino V14 web-kit to the image
-tika updates the Tika server to the Domino server
-k8s-runas adds K8s runas user support
-linuxpkg=<pkg> add on or more Linux packages to the container image. Multiple pgks are separated by blank and require quotes
-startscript=x installs specified start script version from software repository
-custom-addon=x specify a tar file with additional Domino add-on sofware to install format: (https://)file.taz#sha256checksum
-software=<dir> explicitly specify SOFTWARE_DIR and override cfg file
SafeLinx options
-nomadweb adds the latest Nomad Web version to a SafeLinx image
-mysql adds the MySQL client to the SafeLinx image
-mssql adds the Mircosoft SQL Server client to the SafeLinx image
Special commands:
save <img> <my.tgz> exports the specified image to tgz format (e.g. save hclcom/domino:latest domino.tgz)
Examples:
build.sh domino 14.0 fp1
build.sh traveler 12.0.2