Local ExistDB Project Database

Since version 2.6 the Karabo binaries are not shipped with the code necessary to run the Configuration Database itself. The consequence of this choice is that a completely local system must be able to run docker containers as the user running Karabo.

This is either achieved by having the Karabo user added to the group docker or by installing docker in rootless mode (which is deemed more secure and available as an experimental feature since version 19.03 of the docker engine).

The complexity of how to install docker on any target system exceeds the scope of this documentation. Assuming one has the target system set up correctly, to start a local database, one needs to run by typing:

karabo-startprojectdb

To stop the database type:

karabo-stopprojectdb

The karabo-startprojectdb will attempt to pull the docker image europeanxfel/existdb:2.2 from hub.docker.com. In case the all local system is isolated from the internet, one needs to provide the image either by connecting the host temporarily to the internet, or by using the docker save and docker load commands.

The DB’s data resides in the container and will be archived at 00 and 12 hours by default. The data saved with such a procedure, is saved in the var/data/exist_data folder. While the runtime data is stored in the container storage. To wipe the memory, one needs to remove the container using the docker rm command, i.e. stopping the container with karabo-stopprojectdb and running docker rm karabo_existdb.

In case one wishes to change the main username and password for the database, one should follow the instructions in the README.md of the source of the image, and update the content of the KARABO_PROJECT_DB_USER and KARABO_PROJECT_DB_PASSWORD accordingly.