Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

Introducing Domino Container Script for Podman an Docker

Daniel Nashed  17 January 2021 16:31:08

This is a brand new script, which is the logical extension to the Nash!Com Domino Start script.
A while ago I introduced Docker support for the start script inside the Domino container.
It comes with an entry-point script we are also leveraging in out Domino Docker Github community script.

This new script is intended to manage and run your Docker and Podman containers.
It includes also a systemd script to run a Domino server on Podman in production using the new systemd options introduced in Podman 1.7+.
Beside that it includes a simple framework to build and manage your own add-on images


Components & functionality

- Predefined systemd script for running a Domino server on Podman 1.7+
- Support for Docker 18+
- sysconfig script to configure your container
- Environment file to configure the server inside the container
- domino_container script as your single point of service for all type of operations
- Build environment for custom images on top of the HCL Domino image or 3rd party images like your Domino on Docker project

It will allow to manage your server from the domino_container script including jumping into the container from command-line.
And you can also leverage it to update your container even running with systemd on Podman.

I moved one of my production servers to a new provider and decided to use Podman with this systemd scripts.
But also when using Docker this script allows you to completely manage your server.


This will replace the management script in the Docker project over time.
The script is more flexible and also provides a simplified way to build add-on image.


build_image directory
With the new approach each image has it's own directory including a Container file (Podman uses this name instead of Dockerfile) and a build.cfg.
You can clone this directory and define your own add-on images which you can build from the directory using the domino_container script.
The build logic is in the script and the install logic for the image is in the install_dir.

The out of the box example is already prepared to install server-tasks and extension managers. It can be used as a template and be customized and extended for any type of customer or partner image.

Installation
Like the start script, the container_script has it's own install script (install_domino_container), which writes the files to the right directories.
Once you installed it, you can run "domino_container" with all the options specified below.
I hope this provides a quick overview and is what you need to run your Domino servers on Docker & Podman.

Any feedback is welcome. It's a first version...
-- Daniel

Current commands

domino_container help
(Using config file /etc/sysconfig/domino_container)

Nash!Com Container Script Version 1.0.0
(Running on Podman Version 2.0.5)

Usage: domino_container

       start | stop | restart | status | statusd | inspect | console | config | env
       domino | bash | update | attach | remove | removeimage | cleanup | port
       install | load | build | version | help

start [live]    start an existing container (the 'live' option shows start script output)
stop  [live]    stops container (the 'live' option shows start script output)
restart         restarts or starts the server
status          shows container status (running, exited, notexisting)
statusd         shows the systemd status
info            shows status and basic information about container and image
inspect         shows detailed information about container and image
console         open Domino console inside container
logs            shows container logs (output from entry point script/start script)
attach          attach to entry point script
domino          pass a command to start script (e.g. domino nsd)
bash [root]     invokes a bash in the running container. optionally run as root instead of notes user
remove|rm       removes the container (if not running)
removeimage|rmi removes the current container (you have to remove the container first)
config|cfg      edit configuration
update          updates the container if referenced image has changed (stops Domino, stops the container, runs a new image)
install         install Podman
load            load HCL Domino Docker image
build           builds a current image -- even image tags might not have changed to ensure OS patches are installed
port            show used tcp/ip ports for container
enable|on       enable systemd service
disable|off     disable systemd service
clean           cleanup container and systemd if configured
env             edit environment file
version         shows script version information
help            you already figured out what help does ;-)



Comments

1Eric Mack  18.01.2021 3:52:45  Where’s teh best place to get started with Domino on Docker

Hi Daniel, I have been following the articles that you and Thomas have shared over the years with respect to Domino and Docker both unofficially and then with the advent of Domino 11.

I really appreciate the effort you have put into this and to sharing with the community.

My question is where should someone who is just getting started with Domino on Docker begin. With so much information out there - much from you two -- where can you direct me if starting from the ground up?

Thank you, and best wishes for a happy and healthy new year!

Eric

2Daniel Nashed  18.01.2021 13:20:11  Introducing Domino Container Script for Podman an Docker

Hi Eric!

Thanks for your feedback! And we really love containers as a platform. This isn't Docker alone.

The main question is what you want to do. But I would say you should first look into Docker.

There are good youtube videos for Docker to start with and you also have to choose which platform you want to start with.

We have a jump start in our Domino Early Access presentation referenced here --> https://blog.hcltechsw.com/domino/introducing-hcl-domino-early-access-program/.

Depending on the operation system of your choice you might want to look into Docker Desktop first.

But finally it is all about containers. So whatever you do, it's not wasted time. The base behind all this is still "containers" in one or the other way.

-- Daniel

3Eric Mack  18.01.2021 15:58:56  Introducing Domino Container Script for Podman an Docker

Thank you, Daniel. That's what I was looking for. I recalled you sharing these links but lost track.

I'll probably start with desktop, as you suggest. Eventually, I want to run Domino in a Docker Container on my Synology NAS. I want to set up a long term stable Domino server for myself only on which to archive all of my past 25 years of Domino work.

Thanks for all you do to continue to support this great platform.

Eric

Links

    Archives


    • [IBM Lotus Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]