Domino v12 One Touch Setup
In the December drop of the Domino V12 Early Access has been introduced a very cool feature that will make Domino administrators very happy.
Domino One Touch Setup
What is it ? This is what the documentation says: “In previous versions of HCL Domino®, setting up a Domino server involved multiple steps. Starting with Domino 12, you can use one-touch Domino setup to set up a server in a single step. You invoke one-touch Domino setup by referring to a JSON file or a set of environment variables that contain the setup configuration information.”
Isn’t that way cool ?
Just prepare a file with the variables you need and run a command. Done! Server created! 🙂
As stated in the documentation there are two ways to do it, using a set of environment variables or using a JSON file. I have tested the first way using Domino on Docker and I will explain how to make it work.
If you never installed a Domino server on Docker you can find a guide here to set up your first server.
As with the normal setup you can use this new way to create a new first server or add an additional server to your domain. The latter is what I did, but the procedure is the same also for creating new first servers.
First step is to create a volume to store the Domino data directory
docker volume create notesdata
Then we need to prepare the input parameters using environment variables, to do so, if you run Domino on Docker, you define the system environment variables for Docker to export in a text file.
The official documentation is wrong, it refers to variables being enclosed in quotes, while they should not be.
The list of the variables is in two tables here, the first one contains the Server setup system environment variables for one-touch Domino setup, the second one contains the ID vault system environment variables for one-touch Domino setup.
As you can see not all the variables are needed, as an example this is my file env.txt with just the variables needed for setting up an additional server
SERVERSETUP_SERVER_TYPE=additional SERVERSETUP_NETWORK_HOSTNAME=v12test.eldeng.it SERVERSETUP_SERVER_DOMAINNAME=ELDENG SERVERSETUP_ORG_ORGNAME=ELDENG SERVERSETUP_ORG_COUNTRYCODE=IT SERVERSETUP_SERVER_IDFILEPATH=/local/notesdata/server.id SERVERSETUP_SERVER_NAME=v12 SERVERSETUP_EXISTINGSERVER_CN=DOMSRV01 SERVERSETUP_EXISTINGSERVER_HOSTNAMEORIP=195.101.267.159 SERVERSETUP_ADMIN_CN=Roberto Boccadoro SERVERSETUP_ADMIN_CN=DOMSRV01 SERVERSETUP_NOTESINI_SERVERTASKS=replica,router,update,amgr,adminp,http SERVERSETUP_SECURITY_ACL_PROHIBITANONYMOUSACCESS=true SERVERSETUP_SECURITY_ACL_ADDLOCALDOMAINADMINS=true
Since we are setting up an additional server we need to use a server ID and we need to copy it from our machine to the container. To do so I created a temporary container that launches into a bash shell that uses the same volume we created
docker run -it -v notesdata:/local/notesdata --name debug --entrypoint /bin/bash domino-docker:V1200_12022020prod
Then copy the file using this command
docker cp /root/install/server.id 5ff8e3375fbd:/local/notesdata
5ff8e3375fbd is the ID of the container you just created (you can get the ID running the command
docker container ls -a)
The temporary container can later be deleted but is useful to have it now, especially if we need to check something on the data directory.
To create and set up the server you run the following command
docker run -it -v notesdata:/local/notesdata --name v12 --env-file env.txt -p 8585:8585 -p 1352:1352 -p 443:443 domino-docker:V1200_12022020prod --autoconf
Your new Domino server should be up and running in a new Docker container.
If one-step setup fails for some reason, review the autoconfigure.log file created in the container. Go in the terminal where you ran the temporary container, change directory to /local/notesdata/IBM_TECHNICAL_SUPPORT and check the file
In the terminal where you run the command you should see the Domino console. If you don’t want this, you can stop the server from the console and run again the container with the command
docker restart v12