Using build tool kit with your own docker image
The docker build tool kit could be found on OPSWAT Portal - Products - Utilities
The build tool kit includes following files:
Dockerfile- main script for building docker image.entrypoint.sh- startup script that runs when the container starts.patch.sh- utility script for string replacing in file, needed for building docker image.systemctl.pythe replacement for systemctl, needed for non-privileged container.mdcore.sh- functionalities thatentrypoint.shneed to start MetaDefender Core service.
To build the image, just run the following command:
docker build -t <image_name[:tag]> [--build-arg VERSION=<version>] <build-kit_path><image_name[:tag]>- name of your built image with optional tag (e.g.latest).--build-arg VERSION=<version>- the desired MetaDefender Core version to be downloaded from OPSWAT. If obmitted then a local installer will be used, installer should be placed in working directory with name is formatted /mdcore/ometascan-*.rpm or .deb (configurable in the Dockerfile).<build-kit_path>- relative path to your build-kit which contains Dockerfile.
For example:
docker build -t core:debian --build-arg VERSION=5.13.2 .In Dockerfile, there are some environment variables that can be modified for various use cases. You should modify the environment variables before building the MetaDefender Core docker image.
# Product version for downloading installer package, ignored if use local installerARG VERSION=local# Some convenient keys for building, do not change theseENV VERSION ${VERSION}ENV PACKAGE_NAME ometascan-${VERSION}-1.x86_64.rpmENV WORK_DIR /mdcoreENV PACKAGE_PATTERN ometascan-*.rpmENV PACKAGE_FILE ${WORK_DIR}/ometascan.rpm# All designated data files and folders to be used by MetaDefender Core upon installed will reside insideENV INSTALL_ROOT /opt/ometascan# MetaDefender Core internal configurationsENV REST_PORT 8008ENV IGNITION_FILE ${INSTALL_ROOT}/etc/opswat/ometascan.confENV DATA_DIR ${INSTALL_ROOT}/var/lib/ometascanENV CORE_CONF ${INSTALL_ROOT}/etc/ometascan/ometascan.conf# User for installing Core and runningENV RUN_USER metascanENV RUN_GROUP metascanENV RUN_UID 1000ENV RUN_GID 1000# Define apikey path to store apikey for license activation and deactivationENV APIKEY_PATH ${INSTALL_ROOT}/etc/opswat/apikeyVERSIONvariable needs to be set to the desired version of MetaDefender Core to be downloaded and used.RUN_USERvariable is the user that is automatically created in the container and then used to run the MetaDefender Core. It could be non-root user.INSTALL_ROOTvariable to define root folder for all MetaDefender Core data files and folder to reside inside.APIKEY_PATHvariable to define file path containing API key of your desired local user admin on MetaDefender Core, that will be used for license activation and deactivation.
