The Domino cross platform start/stop and diagnostic script has been designed to unify and simplify running Domino on Linux and UNIX. The start script is designed to be “one-stop shopping” for all kind of operations performed on the Linux/UNIX prompt. The script can start and stop the server, provides an interactive console and run NSD in different flavors. It ensures that the environment is always setup correct and supports multiple partitions.
This script is designed to run with a dedicated user for each partition. It is already configured for the default user “notes” user and group (notes:notes). Binary are assumed to be in
/opt/hcl/domino, the data directory is assumed in
/local/notesdata. Settings are configured in
If you configure your Domino environment with the standard path names and users names, you can use this standard configuration and install script.
User : notes Group: notes Binary Directory: /opt/hcl/domino Data Directory : /local/notesdata
The standard configuration is highly recommended. This will make your life easier for installing the server. You can change the data directory in the rc_domino_config file. But the binary location and the notes:notes user and group should stay the same.
You should stay with the standard /local/notesdata. At least the /local directory should be a separate mount point. In larger environments you might want to use separate mount points for different parts of the server.
The following directory outline is used in our Docker Community project as well and is a best practice nameing convention. For smaller servers a single /local mount point is perfectly OK.
Obviously backup should always be a separate mount point.
/ ├── local ├── notesdata ├── translog ├── daos ├── nif ├── ft ├── restore └── backup
Check the Release Page for the current version.
You can either download the start script tar file manually or leverage for example curl for automated downloads.
Example to download the file directly to a Linux machine:
curl -LO https://github.com/nashcom/domino-startscript/releases/download/v3.7.0/domino-startscript_v3.7.0.tar
tar -xf domino-startscript_v3.7.0.tar
Tip: You can download the latest version using a special curl command:
curl -L $(curl -sL https://raw.githubusercontent.com/nashcom/domino-startscript/main/latest.txt) -o domino-startscript_latest.tar
The Domino Start Script comes with an installation script, which installs automatically using the most common defaults.
Switch to the start script directory and run the
Note: The install script can also be used to update existing scripts.
cd domino-startscript ./install_script
The Domino service is automatically enabled by the start script installer.
Once successfully completed, the
domino command is available for all operations for your Domino server.
domino start domino stop domino status domino statusd
Launch the Domino server live console
See the commands section for a full list of commands.
systemd is used on all current Linux distributions to start services.
Systemd requires root permissions for start/stop. One way to accomplish this is to grant
sudo permissions for the “rc_domino” script.
If you never looked into sudo, here is a simple configuration that allow you to run the start script with root permissions. Basically this allows the notes user to run the /etc/init.d/rc_domino as root. This avoids switching to the root user.
Add the following lines to the sudoers file
%notes ALL= NOPASSWD: /etc/init.d/rc_domino *, /usr/bin/domino *
This allows you to to run the start script in the following way from your notes user.
sudo /etc/init.d/rc_domino ..
- Copy the script rc_domino_script into your Nash!Com start script directory /opt/nashcom/startscript
Copy rc_domino into /etc/init.d
- For systemd copy the domino.service file to /etc/systemd/system
And ensure that rc_domino contains the right location for the service file
configured in the top section of your rc_domino file ->
chmod 755 /opt/nashcom/startscript/rc_domino_script chmod 755 /etc/init.d/rc_domino
Ensure that your UNIX/Linux user name matches the one in the configuration part of the Domino server. Default is
For systemd ensure the configuration of the domino.service file is matching and specially if it contains the right user name and path to the rc_domino_script. And also the right path for the “PIDFile” (See “Special platform considerations –> systemd (CentOS 7 RHEL 7/ SLES 12 or higher)” for details).
For AIX change first line of the scripts from
ksh instead of
sh/bash. The implementation of the shells differs in some ways on different platforms. Make sure you change this line in
On AIX you can use the mkitab to include rc_domino in the right run-level Example:
mkitab domino:2:once:"/etc/rc_domino start
You can disable starting the Domino server temporary by creating a file in the data-directory named
If the file exists when the start script is called, the Domino server is not started.
The two scripts use the Korn-Shell
/bin/ksh on AIX.
On Linux the script needs uses
Edit the first line of the script according to your platform
Linux: "#!/bin/sh" AIX: "#!/bin/ksh"
Tuning your OS-platform is pretty much depending the flavor and version of UNIX/Linux you are running.
You have to tune the security settings for your Domino UNIX user, change system kernel parameters and other system parameters.
The start script queries the environment of the UNIX notes user and the basic information like ulimit output when the server is started.
The script only sets up the tuning parameters specified in the UNIX user environment. There is a section per platform to specify OS environment tuning parameters.
You have to increase the number of open files that the server can open.
Those file handles are required for files/databases and also for TCP/IP sockets.
The default is too low and you have to increase the limits.
Note: No change is required if you system already has higher default values.
Using the ulimit command is not a solution. Settings the security limits via root before switching to the notes user executing the start script via “su -“ does not work any more.
And it would also not be the recommended way.
su leverages the pam_limits.so module to set the security limits when the user switches.
So you have to increase the limits by modifying
You should add a statement like this to
* soft nofile 80000 * hard nofile 80000
This configuration is not needed to start servers with systemd.
systemd does set the limits explicitly when starting the Domino server.
The number of open files is the only setting that needs to be changed via
LimitNOFILE=80000 in the domino.service file.
Specifies a larger Shared DPOOL size to ensure proper memory utilization.
Detailed tuning is not part of this documentation. If you need platform specify tuning feel free to contact firstname.lastname@example.org
The main reason for having two scripts is the need to switch to a different user. Only outside the script the user can be changed using the ‘su’ command and starting another script. On some platforms like Linux you have to ensure that su does change the limits of the current user by adding the pam limits module in the su configuration.
In the first implementation of the script the configuration per user was specified in the first part of the script and passed by parameter to the main script. This approach was quite limited because every additional parameter needed to be specified separately at the right position in the argument list.
Inheriting the environment variables was not possible because the su command does discard all variables when specifying the “-“ option which is needed to setup the environment for the new user.
Therefore the beginning of the main script contains configuration parameters for each Domino partition specified by UNIX user name for each partition.
systemctl start domino.service systemctl stop domino.service systemctl status domino.service
systemctl enable domino.service systemctl disable domino.service
The service file itself is be located in
You have to install a service file per Domino partition. When you copy the file you have to make sure to have the right settings.
- ExecStart/ExecStop needs the right location for the rc_domino_script (still usually the Domino program directory)
- Set the right user account name for your Domino server (usually “notes”).
The following example is what will ship with the start script and which needs to be copied to
/etc/systemd/system before it can be enabled or started.
[Unit] Description=HCL Domino Server After=syslog.target network.target [Service] Type=forking User=notes LimitNOFILE=65535 PIDFile=/local/notesdata/domino.pid ExecStart=/opt/nashcom/startscript/rc_domino_script start ExecStop=/opt/nashcom/startscript/rc_domino_script stop TimeoutSec=100 TimeoutStopSec=300 KillMode=none RemainAfterExit=no [Install] WantedBy=multi-user.target
The rc_domino script can be still used for all commands.
This includes starting and stopping Domino as a service (only “restart live” option is not implemented).
You can continue to have rc_domino with the same or different names in the
/etc/init.d directory or put it into any other location. It remains the central entry point for all operations.
But the domino.service can also be started and stopped using “systemctl”. rc_domino uses the configured name of the domino.service (in the header section of
systemd operations need root permissions. So it would be best to either start rc_domino for start/stop operations with root. One way to accomplish using root permissions is to allow sudo for the
The configuration in
/etc/sysconfig/rc_domino_config (or whatever your user name is) will remain the same and will still be read by
The only difference is that the
rc_domino_script is invoked by the systemd service instead of the
rc_domino script for start/stop operations.
When invoking start/stop live operations a combination of systemd commands and the existing
rc_domino_script logic is used.
The output from the systemd status command provides much more information than just if the service is started.
Therefore when using systemd the rc_domino script has a new command to show the systemd status output. The new command is
rc_domino_configto the right locations
- Copy domino.service to
- Make the ### Changes according to your environment
- Enable the service via
systemctl enable domino.serviceand have it started/stopped automatically or start/stop it either via systemd command or via
- rc_domino script contains the name of the systemd service. If you change the name or have multiple partitions you need to change the names accordingly
When the machine is started systemd will automatically start the domino.service.
rc_domino_script(main script logic).
Start/Stop via rc_domino When
rc_domino startis invoked the script will invoke the service via systemctl start/stop domino.service.
Other script operations Other operations like
monitorwill continue unchanged and invoke the
Table of contents
- Configuration Parameters
- Components of the Script
- Systemd configuration
- Known Issues
- Domino Container Support