Creating a Docker container for Domino Leap

Create the a dleap-renovations server using one-touch Domino setup with parameters in a JSON file.

Procedure

  1. Copy the renovations-setup.json file contents below to a local JSON file in your environment.
    Note: The JSON file must be saved in UTF-8 format without a byte order mark (BOM) at the beginning of the file. Because UTF-8 is a superset of the ASCII character set, any file with purely printable ASCII characters is also a valid UTF-8 file.
  2. Run the following Docker command to create a new container and configure the Domino server inside the container using one-touch setup leveraging a JSON file. The one-touch JSON file from the host file system is mounted into the container. For additional info, see Invoking one-touch Domino setup with parameters in a JSON file on Docker in the Domino documentation.
    docker run -it -d -v <volume-name>:/local/notesdata -v <OneTouch JSONFile>:/tmp/auto-config.json 
    --name <container-name> --env SetupAutoConfigure=1 --env SetupAutoConfigureParams=/tmp/auto-config.json 
    -p 1352:1352 -p 80:80 --stop-timeout=60 --cap-add=SYS_PTRACE <docker-image>
    Where:
    • <containe name> is the name of the new container.
    • <volume-name> is the name of the new volume created.
    • <OneTouch JSONFile> is full path of JSON file in your local environment.
    • <image> identifies the dleap-container image you loaded in Loading the Domino Leap tar archive file to Docker.
    For example, the following command starts a container named dleap-renovations and associates it with the dleap-data volume:
    docker run -it -d -v dleap-data:/local/notesdata -v /tmp/renovations-setup.json:/tmp/auto-config.json 
    --name dleap-renovations --env SetupAutoConfigure=1 --env SetupAutoConfigureParams=/tmp/auto-config.json 
    -p 1352:1352 -p 80:80 --stop-timeout=60 --cap-add=SYS_PTRACE dleap-container:V1202-1.1.0.13
    

Result

The Domino Leap server container is created. The underlying Domino server starts and is ready to use. Launch a browser and visit the Domino Leap Manager page:

http://dleap.renovations.com/volt-apps/secure/org/ide/manager.html

If dleap.renovations.com is not a resolvable hostname and you are only accessing the container locally for experimentation, you will need to map dleap.renovations.com to 127.0.0.1 in your local hosts file. Alternative, use localhost for the value of the serverURI property.

Example: renovations-setup.json
{
	"serverSetup": {
		"server": {
			"type": "first",
			"name": "Dleap",
  			"title": "Domino Leap Renovations server",
			"domainName": "Renovations",
			"password": null,
			"additionalServerTasks" : "http"
		},
		"network": {
			"hostName": "dleap.renovations.com"
		},
		"org": {
			"orgName": "Renovations",
			"certifierPassword": "passw0rd"
		},
		"admin": {
			"lastName": "Admin",
			"password": "passw0rd",
			"IDFilePath": "admin.id"
		},
		"notesINI": {
      			"HTTPEnableMethods": "GET,POST,PUT,DELETE,HEAD"
		},
		"registerUsers": {
			"defaults": {
				"saveIDToPersonDocument": true,
				"mailTemplatePath": "mail12.ntf",
				"enableFullTextIndex": true,
				"certificateExpirationMonths": 120
			},
			"users": [
				{
					"firstName": "Ted",
					"lastName": "Amado",
					"IDFilePath": "tamado.id",
					"password": "passw0rd",
					"setInternetPassword" : true,
					"mailFilePath": "mail/tamado.nsf"
				},
				{
					"firstName": "Samantha",
					"lastName": "Daryn",
					"IDFilePath": "sdaryn.id",
					"password": "passw0rd",
					"setInternetPassword" : true,
					"mailFilePath": "mail/sdaryn.nsf"
					
				},
				{
					"firstName": "Betty",
					"lastName": "Zechman",
					"IDFilePath": "bzechman.id",
					"password": "passw0rd",
					"setInternetPassword" : true,
					"mailFilePath": "mail/bzechman.nsf"
					
				}
			]
		}	
	},
 	"appConfiguration": {

    		"databases": [
      		{
        		"filePath": "names.nsf",
        		"action": "update",
			"documents": [
          		{
            			"action": "update",
            			"findDocument": {
              				"Type": "Server",
              				"ServerName": "CN=Dleap/O=Renovations"
            			},
            			"items": {
              				"HTTP_EnableSessionAuth": "1"
            			}
          		}
			]
		},
		{
        		"filePath": "volt/VoltBuilder.ntf",
        		"action": "update",
			"ACL": {
				"ACLEntries": [
					{
						"name": "[Admin]",
						"level": "manager",
						"type": "person",
						"canDeleteDocuments": true,
						"roles": [ "VoltAppsManager"]
					},
					{
						"name": "[Ted Amado]",
						"level": "editor",
						"type": "person",
						"canDeleteDocuments": true
					},
					{
						"name": "[Samantha Daryn]",
						"level": "editor",
						"type": "person",
						"canDeleteDocuments": true
					},
{
						"name": "[Betty Zechman]",
						"level": "editor",
						"type": "person",
						"canDeleteDocuments": true
					}					
				]
			}
			
		},
		{
        		"filePath": "volt/VoltAppHistory.ntf",
        		"action": "update",
			"ACL": {
				"ACLEntries": [
					{
						"name": "[Admin]",
						"level": "manager",
						"type": "person",
						"canDeleteDocuments": true
					},
					{
						"name": "[Ted Amado]",
						"level": "editor",
						"type": "person",
						"canDeleteDocuments": true
					},
					{
						"name": "[Samantha Daryn]",
						"level": "editor",
						"type": "person",
						"canDeleteDocuments": true
					},
					{
						"name": "[Betty Zechman]",
						"level": "editor",
						"type": "person",
						"canDeleteDocuments": true
					}					
				]
			}
			
		},
		{
        		"filePath": "volt/VoltConfig.ntf",
        		"action": "update",
			"documents": [
          		{
            			"action": "create",
				"items": {
              				"Form": "Setting",
              				"settingName": "serverURI",
              				"settingValue": "http://dleap.renovations.com/volt-apps",
              				"enabled": "1"
            			}
          		}
			]
		}
		]
	}
}