HCL released the 3rd iteration of the public beta today. One of the new features of the server is the integrated backup. HCL implemented a solution that integrates with other vendors, e.g. Veeam. It uses a simple configuration and logging database which is a new template to V12 beta 3.
Setting up the backup feature is very simple: just load the service on the server console using
load backup
When this is executed for the first time, a new backup configuration database is created. At this point you should look into the default configuration settings. There are two predefined for Windows and Linux environments. As I used my existing Docker installations (which by the way made the update process again easy as pie), I will focus on the Linux config - especially the Docker setup. Of course in a real world scenario you would prefer another configuration than this one, but for the sake of simplicity and for testing this is fine.
Basic setup
Open the backup config on the server you just issued the first load backup command to (the filename is dominobackup.nsf)
Navigate to "Configuration" on the left. You see the two predefined configs for Windows and Linux. If you open the Linux config, you notice the folder name that is used as the backup path. This is by default
/local/backup
When you run Domino in a Docker container, there is no such folder by default, so you have to create it.
Create a new volume for the container:
docker volume create notesbackup
Stop your Domino container. To run it again, use the command like before but add the additional volume to the command, e.g.
docker run -d --name domino12beta3 -v notesdata:/local/notesdata -v notesbackup:/local/backup --hostname mydomino.local --cap-add=SYS_PTRACE -p 1352:1352 -p 80:80 -p 443:443 domino-docker:V1200_03252021prod
This spins up the container again but with the new additional volume. The path used is identical to the default config in the Domino backup database. Got it?
There is one issue: Domino is not able to write to this folder as the ownership is not matching. You have to fix that like this:
Bash into your container as root user (assuming your container is named domino12beta3):
docker exec -it -u 0 domino12beta3 bash
Inside the container, execute
chown notes:root /local/backup -R
This will set the ownership so that Domino can write to it.
Finally, issue the backup command a second time to start the initial backup process:
load backup
You will immediately see messages that indicate the process is running.
If a database could not be backed up, you will see the error and, if your LocalDomainAdmins members can be addressed via mail, a summary will be sent in the end.
Resume
This is a feature that at least I did not expect and I find very useful. Cloud storage is supported, so I could imagine a mapped S3-bucket to a local folder which is then set as target for your backups.
As the backup itself is not a task that is executed repetitively I suggest to create a program document to achieve a scheduled execution.