This project contains build scripts for Docker images (Dockerfiles) and Docker related utilities for IBM Domino. There are separate folders within this repository that contain build scripts for IBM. This repository provides an IBM Domino Server with the latest fixes.
Main idea is to download and apply all required fixes/patches/updates from a software repository server instead of adding the source installation files to the image directly. For this reason this repo will start a temporary local nginx server at build time to act as a software repository server.
To build the latest available image
- Download the required software packages to the 'software' directory
- From the root folder of this repository issue the following command
./build domino
The process will perform all required actions to create the image in the version requested. Usually it takes less than 5 minutes to build the image.
Other options available:
build domino-ce
- Domino Server Community Editionbuild traveler
- Traveler on Domino
When a new container is created from the IBM Domino Docker image, it takes environment variables into account for auto-configuring the Domino server. Details on how to use those variables can be found here
- Domino Data directory needs to be a persistent volume.
The folder Management contains a script that simplifies the management of containers. The script is supposed to run on the docker host.
For details see the documentation of the Management Script
First create a new/empty persistent volume that will be used as the Domino Data directory later on. In this example we are calling it "dominodata_demo1".
docker volume create dominodata_demo1
Then run a new Domino server with the configuration details of your choice. Make sure to specify the base image name at the very end of this command
docker run -it -e "ServerName=Server1" \
-e "OrganizationName=MyOrg" \
-e "AdminFirstName=Thomas" \
-e "AdminLastName=Hampel" \
-e "AdminPassword=passw0rd" \
-h wien.demo.com \
-p 80:80 \
-p 1352:1352 \
-v dominodata_demo1:/local/notesdata \
--stop-timeout=60 \
--name server1 \
ibmcom/domino:10.0.1FP2
During docker run
you can setup a volume that mounts property files into /local/notesdata
Stopping a Domino server takes longer than the time a Docker server would expect by default (10 seconds), the recommended way is to add the parameter "--stop-timeout" already when starting the container. If the container was started with the parameter --stop-timeout=
then you may stop the container using the following command:
docker stop <container-name>
If the container was started without specifying the parameter --stop-timeout=
then use the following command to stop the container gracefully
docker stop --time=<timeout> <container-name>
Example:
docker stop --time=60 test
For issues relating specifically to the Dockerfiles and scripts, please use the GitHub issue tracker
We welcome contributions following our guidelines.
Special Thanks go to the following people for having provided valuable input to this project
- Ulrich Krause.
- Matteo Bisi's Presentation and his Github repo
- Daniel Nashed for donating his startscript under the Apache License 2.0.
- Egor Margineanu who also can be found on Github
The Dockerfiles and associated scripts are licensed under the Apache License 2.0.
License for the products that can be installed within the images is as follows:
- IBM Domino Enterprise Server 10.0 under the International Program License Agreement
- IBM Domino Community Server under the International License Agreement for Non-Warranted Programs
With some modifications the following base images can be built:
- IBM Domino Utility Server
- IBM Domino Collaboration Express
- IBM Domino Messaging Express
Note that the IBM Domino is commercial software - the software licenses agreement does not permit further distribution of the docker image that was built using this script.