Domino v12 One Touch Setup – part 2

In my previous post I explained how to add an additional server on Docker using environment variables.
In this post I will use the other method, using a JSON file, to create a new first server.

A word of caution – this is all based on the current beta drop and I found that the instructions provided are not exactly perfect. I have reported my findings to HCL and they will make both the instructions and the setup better.
So use what I say just if you want to test V12 One Touch Setup now, for the future things will change for the better and I will post about the new stuff.

First step is to create a volume to store the Domino data directory

docker volume create notesdata

Now run the following Docker command. This command creates a Docker container without yet configuring Domino by making the container entry point a bash shell.

docker run -it -v notesdata:/local/notesdata --name adminserver --entrypoint /bin/bash -p 8585:8585 -p 1352:1352 -p 443:443 domino-docker:V1200_12022020prod

You will be in the shell in the /local/notesdata directory

Open another terminal.
Create a JSON file with all the settings needed for a first server setup, here is the one I used as an example called setup.json

{
	"serverSetup": {
		"server": {
			"type": "first",
			"name": "demo",
			"domainName": "ELD",
			"title": "Eld Demo Server",
			"password": null,
			"minPasswordLength": 0
		},
		"network": {
			"hostName": "domino.eld.it",
			"enablePortEncryption": true,
			"enablePortCompression": true
		},
		"org": {
			"countryCode": null,
			"orgName": "ELD",
			"certifierPassword": "password",
			"orgUnitName": null,
			"orgUnitPassword": null
		},
		"admin": {
			"firstName": "Roberto",
			"middleName": null,
			"lastName": "Boccadoro",
			"password": "password",
			"IDFilePath":  "/local/notesdata/rob.id"
		},
		"notesINI": {
			"ServerTasks": null,
			"LOG_REPLICATION": "1",
			"LOG_SESSIONS": "1"
		},
		"security": {
			"ACL": {
				"prohibitAnonymousAccess": true,
				"addLocalDomainAdmins": true
			}
		},
		"autoRegister": {
			"count": 7,
			"IDPath": "/local/notesdata/ids",
			"pattern": "server#"
		}
	},

	"IDVault": {
		"name": "O=ELDVault",
		"description": "ELD Vault",
		"IDFile": "ELDVault.id",
		"IDPassword": "VaultPassword",
		"path": "IBM_ID_VAULT/ELDVault.nsf",
		"passwordReset": {
			"helpText": "Call so and so for help resetting password"
		},
		"securitySettingsPolicy": {
			"name": "ELD Vault Security Settings Policy",
			"description": "ELD Vault Security Settings"
		},
		"masterPolicy": {
			"description": "ELD Vault Master Policy Description"
		}
	}
}

This is more then the minimum needed, for example I set up ID vault, which is not mandatory. The minimum needed parameters are listed in a example file you can find here

Copy the JSON file from the machine you created it into the container running this command

docker cp setup.json 737ead470a66:/local/notesdata

Where 737ead470a66 is the container ID, which you can get running the command

docker container ls -a

From inside the shell runs those two commands

export SetupAutoConfigure=1
export SetupAutoConfigureParams=setup.json

Now run the command

/local/start.sh --autoconfigure

After a while you should see your server running and have the console inside the terminal.


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
Where 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


I will be speaking at RNUG Online

Form Dec 4th to 11th there will be the annual event of the Russian user group, RNUG. This year, as expected, it will be online since no travel is possible.

You can find the full agenda here and the registration for the event here.

I will give a session on Tuesday December 8th at 11 CET, “Sametime Meeting 11.5 installation on Docker”.

Hope to see many of you there (virtually).


HCL Factory Tour – Email roundtable

As part of the HCL Digital week, that starts today, on Nov 11-12-13 there will be the Factory Tour, and during that HCL will host four round tables for all participants to attend.
Topics are “Domino Security”, “Nomad Web”, “Domino Email”, “Open Source: Why bother?”. All the round tables are scheduled for Nov 12 at 12.00 ET (18.00 CET).

If you are interested in shaping the future of Domino email, join the Email round table, the topic is: “Mail serves as the backbone for enterprise communication but what’s next? Come join us and bring your questions. Let’s take a glimpse of it and define the future for Domino Mail together.
I will be a panelist in my role of HCL Ambassador in that round table, and I can’t wait to hear what HCL has in plan for the future.

Remember, despite the numerous announcements of its death, email is still thriving and is going the be there for a while more, just like mainframes 🙂 So join me there and talk about what you want from email in the future.


I will speak at CollabSphere 2020

CollabSphere 2020 is another community event that had to turn from in-person to online due to Covid-19. The bad side of this you already know, the good side is that being online now you can attend all these events without the need to travel, is always nice to save money, and also attendance is free.

I encourage you to register ( here ) and attend CollabSphere 2020, the agenda is very interesting as you can see here

I will have a session about the installation of Sametime Meeting 11.5, is Wednesday 28 October at 3 p.m. CET.
If you are interested and plan to attend my session, I strongly encourage you to attend Luis Guirigay session, DevOps for Sametime Administrators – A Sametime Meetings Deployment Overview, that is Tuesday Oct 27 at 9 p.m. CET. I know is a bit late for us in Europe, but Luis session will give you the background needed for the things I will speak about.


Do you know Collaboration Today ?

If you are reading my blog, it means you are probably an IT professional working with, or interested in, HCL products. So I have a question for you: to keep up to date with what is happening in this space, what do you do ? Where do you get your news from ( I hope not Fox News…..☺) ?

Maybe you have created a list of sites/blogs that you follow with a feed reader, or maybe you go to the rightly famous website PlanetLotus that does this kind of work for you.

But do you know the website Collaboration Today ? Is managed by OpenNTF and present you a list of articles that are hopefully interesting for you.

At this point you may ask: what is the difference between do-it-yourself, PlanetLotus and Collaboration Today ?

Well, lists of feeds are hard to maintain, some blogs you were reading may not exist anymore, or maybe the author has changed focus and now you find posts about Teams or Sharepoint, which may not be relevant for you. Also there is the problem of finding new sites that may have arrived since when you started collecting the feeds. In short, keeping this way of doing is time consuming.

Planet Lotus, which is a excellent website, and the community will never thank enough Yancy Lent for creating and managing it, suffer from the same kind of problems if you want. There are lots of blogs listed there that have nothing to do with HCL products anymore. This is the problem of automatic listing, if the list of blogs is not maintained up to date, it becomes less useful. But since Yancy is doing this on his spare time ( we all have a job to do ) no one can ask him to spend his time scanning the list of blogs and discard the not useful ones.

Collaboration Today is different. Is does not list automatically blog posts, but it is curated. There is a group of people who voluntarily spend some of their time looking for interesting articles and publish them on the website. In this way you can be sure that the content is always relevant for you. You can see who they are here

If you do not already know Collaboration Today, I encourage you to have a look at it and let me know your thoughts.
I am both a curator for Collaboration Today and a member of the OpenNTF Board of Directors, so I am in the right position to do something to improve the website if you think there is something you want us to do. I can collect your thoughts and ideas, then present it at the Board.

My email is r (at) robertoboccadoro.com or roberto.boccadoro (at) eldeng.it


I have been elected in the OpenNTF Board of Directors

OpenNTF has elected the new boards of Directors, you can see the details here.

Why have I decided to put forward my candidature, which has been accepted somewhat to my surprise ?
OpenNTF has a strong focus, obviously, on the Development side of Domino and I thought that having a person who has always worked on the Admin side could give a different perspective. I believe that there are resources for Admins out there in the world and OpenNTF could collect them and make it easily available. A first step in this direction are the OpenNTF Guides but I believe that more can be done.

I need your help: if you have any ideas about how can OpenNTF help you Admins, get in touch with me and I will do my best to work with the Board to make things happen. My email is r (at) robertoboccadoro.com or roberto.boccadoro (at) eldeng.it

I am honored to be in the Board of Directors, is a privilege to be esteemed to be worth of this position and I will do my best to try to give a useful contribution.


Sametime Meeting 11.5 installation on Docker

My good friend and HCL Lifetime Ambassador Daniel Nashed already wrote a post about this topic, here.

Since in my test environment I do not have a proper domain name I had to tweak a bit some configuration settings in order to make the installation work; this can be useful if you want to setup a Meeting server inside your network using a domain like .local instead of your company real domain and hosts file instead of DNS.

The instructions in Daniel’s post are very clear, if you follow them the installation will go fine. The next step is to enable Sametime Community for Meetings
One critical thing to be aware of is this part:

Enable Windows Sametime Community server to support Meetings
Contact HCL Support for instructions to receive a required patch to allow JWT Configuration. Do not continue on Windows until this patch is in place.


Obviously I tried to configure ST Meetings without the patch, (what is a geek doing test installations expected to do ?) and it did not work. So open a case with Support and obtain that patch before setting up the Meeting server integration with Community server.

UPDATE: As per the comment from Tony Payne, the needed patch is now available on Flexnet when you download the product

What you need to do to make it work with hosts file instead of DNS is this:
Edit the file docker-compose.yml and in the sections ‘auth’ and ‘nginx’ add an “extra hosts” entry and put there the name of your community and meeting servers, like this

This is a yaml file, so be careful to use spaces and not tabs and align text correctly as in the images.
Then run the commands
docker-compose down
docker-compose up -d

to restart the server

Many thanks to the Sametime Wizard, Tony Payne from HCL ,for helping me with this.


Andrea Fontana 1964 – 2020

This is a post I would have never wanted to write.

As many of you know by now, our friend Andrea Fontana tragically passed away in an accident with his motorcycle last saturday, Aug 15.

I have been knowing him since the mid 90’s, when I was working in Lotus and he was working for a Business Partner. What started as a professional relationship soon turned out in a friendship and later in the 10’s when I left IBM we worked together quite a lot. He moved near Milano and we met often with the families.

In 25 years we made a lot of things together, so I could tell you lots of stories about him, but I simply can’t right now; I am still devastated by the loss of Andrea and can’t put my thoughts together. In any case I don’t think is necessary, anyone in our community that got to know him knows well the kind of person he was. He was appreciated and loved by anyone that had the opportunity of knowing him, not for his technical skills, which were excellent, but for his humanity.

This picture was taken at the Ice Bar in Stockholm, when we went to Social Connections 7; it was the first community event he spoke at and the beginning of his friendship with many members of our community.


I will be speaking at DNUG47ONLINE

My session is “Setting up Jitsi authentication and customization”. July 2 at 16.30.
You can find the agenda of all the sessions here