Before launch#
Make sure that you are the root user before launch!
Before launching the LUNA Index Module, you must perform the following actions:
- Unpack the LIM distribution.
- Create symbolic link.
- Create directory to store indexes.
- Configure SELinux and Firewall.
- Login to VisionLabs registry.
- Choose logging method.
- Upload LIM settings to Configurator.
- Update settings in the Configurator.
Distribution unpacking#
The distribution package is an archive lim_v.5.84.0, where v.5.84.0 is a numerical identifier, describing the current LUNA Index Module version.
The archive includes configuration files, required for installation and exploitation. It does not include Docker images for the services. They should be downloaded from the Internet.
Move the distribution package to the directory on your server before the installation. For example, move the files to /root/
directory. The directory should not contain any other distribution or license files except the target ones.
Move the distribution to the /var/lib/luna/
directory.
mv /root/lim_v.5.84.0.zip /var/lib/luna
Install the unzip archiver if it is necessary.
yum install -y unzip
Go to the folder with distribution.
cd /var/lib/luna
Unzip files.
unzip lim_v.5.84.0.zip
Symbolic link creation#
Create a symbolic link. The link indicates that the current version of the distribution file is used to run LIM.
ln -s lim_v.5.84.0 lim-current
Create directory to store indexes#
To store indexes and interact with them on the server, you need to create an appropriate directory. This directory will be mounted when the LIM services are launched.
Create folder to store indexes.
mkdir -p /var/lib/luna/lim_storage
Set appropriate permissions to read/write this folder.
chown -R 1001:0 /var/lib/luna/lim_storage
SELinux and Firewall#
You must configure SELinux and Firewall so that they do not block LUNA PLATFORM services.
SELinux and Firewall configurations are not described in this guide.
If SELinux and Firewall are not configured, the installation cannot be performed.
Login to registry#
When launching containers, you should specify a link to the image required for the container launching. This image will be downloaded from the VisionLabs registry. Before that, you should login to the registry.
Login and password can be requested from the VisionLabs representative.
Enter login
docker login dockerhub.visionlabs.ru --username <username>
After running the command, you will be prompted for a password. Enter password.
In the
docker login
command, you can enter the login and password at the same time, but this does not guarantee security because the password can be seen in the command history.
Choose logging method#
There are two methods to output logs in LUNA PLATFORM:
- Standard log output (stdout).
- Log output to a file.
Log output settings are set in the settings of each service in the <SERVICE_NAME>_LOGGER
section.
If necessary, you can use both methods of displaying logs.
For more information about the LUNA PLATFORM logging system, see the "Logging" section in the administrator manual.
Logging to stdout#
This method is used by default and requires no further action.
Logging to file#
Note: When you enable saving logs to a file, you should remember that logs occupy a certain place in the storage, and the process of logging to a file negatively affects system performance.
To use this method, you need to perform the following additional actions:
- Before launching the services: Create directories for logs on the server.
- After launching the services: Activate log recording and set the location of log storage inside LP service containers.
- During the launch of services: Configure synchronization of log directories in the container with logs on the server using the
volume
argument at the start of each container.
Examples of container launch commands in this documentation contain arguments for synchronizing log directories.
Note that the above steps must be performed before, during and after starting the services. Saving logs to file will not work if you perform all actions after starting the containers.
See the instructions for enabling logging to files in the "Logging the server" section.
Upload LIM settings to Configurator#
To use LIM services with LP 5, you need to upload their settings to the Configurator service using the configuration migration mechanism.
docker run \
-v /etc/localtime:/etc/localtime:ro \
--rm \
--entrypoint='' \
--network=host \
dockerhub.visionlabs.ru/luna/lim-configs:v.0.6.0 python3 -m configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator
Where --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator
is the flag for specifying the luna_configurator
database address.
Update settings in the Configurator#
Next, you need to enable the use of the Python Matcher Proxy service and add the matching plugin to the list of plugins used by the Python Matcher Proxy service.
Copy the file with the necessary settings to the Configurator container.
docker cp /var/lib/luna/lim-current/example-docker/configs/lim_settings.json luna-configurator:/srv/lim_settings.json
Update the settings in the Configurator service.
docker exec -it luna-configurator python3 ./base_scripts/db_create.py --dump-file /srv/lim_settings.json
As a result, the following settings will be updated in the Configurator service:
LUNA_MATCHER_PROXY_ACTIVE_PLUGINS = ["indexed_matcher"]
ADDITIONAL_SERVICES_USAGE = "luna_matcher_proxy":true