Skip to main content Link Search Menu Expand Document (external link)

Domino container control (dominoctl)

dominoctl provides commands and operations for Domino on Docker and Podman. For running a single Domino instance on a Docker or Podman host, this script is one-stop shopping for all operations. From start/stop to configuration and the life time of the container all all szenarios are covered. Most of the standard commands are very similar to the Domino start script. The container control script works hand in hand with the Domino start script, which is running inside the container.

Install dominoctl

Switch to the start-script directory and run the install script.


Quick configuration

  • To get your server up and running, ensure you have a container image defined and available on your machine.
  • When running on Docker make sure the Docker service is running.

Edit the configuration of your container by invoking the cfg command:

Edit your container configuration and ensure at least the following settings are specified:


See full list of all configurations options below.

dominoctl cfg

Start your container

Finally start your container. For the first start will run a new container. If the container is already present, the container is started.

dominoctl start

Podman support

dominoctl automatically detects Docker and Podman run-time environments to use the right commands. In contrast to Docker, Podman is daemon-less and needs a separate service to start. The project comes with a systemd script, which is automatically installed and leveraged by dominoctl.

Configure your server using a OneTouch setup template for the first server or an additional server

dominoctl setup

Run your container

dominoctl run

Command reference



Start an existing container (the ‘live’ option shows start script output)


Stop container (the ‘live’ option Show start script output)


Restart or start the server

Status/info commands


Show container status (running, exited, notexisting)


Show the systemd status


Show machine info. With ‘About’ or ‘about+’ also show info from


Show status and basic information about container and image


Show detailed information about container and image


Show used tcp/ip ports for container

Container operations


Open Domino console inside the container


Show container logs (output from entry point script/start script)


Attach to entrypoint script


Pass a command to the start script (e.g. domino nsd)

bash [root]

Invoke a bash in the running container. optionally run as root instead of notes user


Remove the container (if not running)


Remove the currently configured image (you have to remove the container first)

Container configuration


Edit configuration


Create JSON configuration for container auto configuraiton


Update the container if referenced image has changed (stops Domino, stops the container, runs a new image)

Container commands


Pull current image (e.g for update)


Install Podman


Load HCL Domino Docker image


Build a current image – even image tags might not have changed to ensure OS patches are installed


Update restart policy for existing container (e.g. : no | on-failure | always | unless-stopped)


Enable systemd service for Podman


Disable systemd service for Podman


Cleanup container and systemd if configured


Edit environment file


Show script version information

Configuration settings


Defines the name of the container.
The container name is used to reference the container by name instead of using the container ID.



Container image used by the container.
By default, the build script used the name hclcom/domino:latest



Defines the container hostname. If not set, the machine’s hostname is used by default.



By default, the Docker kills the container processes after 10 seconds.
Domino requires a longer shutdown interval than 10 seconds. If not specified the container timeout is set to 120 seconds by the script.



This variable defines the container hostname.
Using the host network is the best choice for a single Domino container running in a container.
In this case, you don’t need to expose individual ports.
But this will make all ports inside the container available on the Linux host.

In addition, if the firewall is running, you have to open ports individually.
On the other side, the host network doesn’t use network address translation.
The host network configuration allows seeing external IP addresses 1:1 inside the container.
This is important for IP address logging.



If not specifying the host network, ports need to be exported explicitly.
Ports you export from your container are automatically added to your host firewall, which makes them available externally.

Example for container network

CONTAINER_PORTS="-p 1352:1352 -p 80:80 -p 443:443"


Volumes store persistent data for containers.
The volume definition is used to map physical volumes or container volumes.

Container volume

CONTAINER_VOLUMES="-v local-domino:/local"

Physical volumes

CONTAINER_VOLUMES="-v /local/notesdata:/local/notesdata -v /local/translog:/local/translog -v /local/daos:/local/daos "


An environment file is used for the first container start (run) to pass setup parameters.
The new configuration uses a JSON OneTouch automation setup. Just run domino_container setup.




By default, the Docker daemon does not start containers automatically.
The Docker Restart policy defines if and when containers are started or restarted.
This option allows setting the restart policy.



The Domino Community container supports a Borg Backup using an optional build option.
For Domino V12 Borg Backup restore support the FUSE device is required.
This option enables the FUSE device when running the container.



By default vi is used for all edit operations.
The configuration option allows switching to a different editor.


Docker Compose Support

dominoctl is a very flexible tool to run your Domino containers on Dock and Podman. In some scenarios for lab environments using docker-compose with multiple containers are helpful. To enable Docker compose support, add a docker-compose.yml to the configuration directory.

Multiple Domino Container Support

By default, the configuration is located in /etc/sysconfig. In addition, two additional configuration locations can be used:

  • Home Directory
  • Current work directory

Run Docker with a non-privileged user

dominoctl runs with any user. Podman is daemon-less and allows to run with any user by default. Podman even separates containers and images between users. For Docker the user needs to be added to the docker group to allow running Docker commands.

.dominoctl Directory

The directory name for configurations is .dominoctl This directory is either located in your home directory or the local work directory.

Search Order

  • Current directory
  • Home Directory
  • /etc/sysconfig

Configuration Files

The directory can contain the following files:

  • domino_container
    configuration file (required)

  • docker-compose.yml
    Docker compose file. If this file is present, Docker compose is used

  • .env
    Environment file specifying environment variables for Docker container.

Initialize a Configuration

  • .dominoctl home
    writes a new configuration into the current user’s home directory

  • .dominoctl local
    writes a new configuration into the current directory

Additional Init Options

  • env
    writes an empty .env file

  • compose
    copies a default docker-compose.yml