If you are beginning your journey with Senzing, please start with Senzing Quick Start guides.
You are in the Senzing Garage where projects are "tinkered" on. Although this GitHub repository may help you understand an approach to using Senzing, it's not considered to be "production ready" and is not considered to be part of the Senzing product. Heck, it may not even be appropriate for your application of Senzing!
A Docker wrapper over the apt
command.
This repository creates a Docker wrapper over the apt
command.
It can be used to download and extract "deb" files.
The default behavior is to install the latest senzingapi
packages.
- Preamble
- Related artifacts
- Expectations
- Demonstrate using Docker
- Develop
- Examples
- Advanced
- Errors
- References
At Senzing, we strive to create GitHub documentation in a "don't make me think" style. For the most part, instructions are copy and paste. Whenever thinking is needed, it's marked with a "thinking" icon 🤔. Whenever customization is needed, it's marked with a "pencil" icon ✏️. If the instructions are not clear, please let us know by opening a new Documentation issue describing where we can improve. Now on with the show...
- 🤔 - A "thinker" icon means that a little extra thinking may be required. Perhaps there are some choices to be made. Perhaps it's an optional step.
- ✏️ - A "pencil" icon means that the instructions may need modification before performing.
⚠️ - A "warning" icon means that something tricky is happening, so pay attention.
- Space: This repository and demonstration require 6 GB free disk space.
- Time: Budget 10 minutes to get the demonstration up-and-running, depending on CPU and network speeds.
- Background knowledge: This repository assumes a working knowledge of:
To use the Senzing code, you must agree to the End User License Agreement (EULA).
-
⚠️ This step is intentionally tricky and not simply copy/paste. This ensures that you make a conscious effort to accept the EULA. Example:export SENZING_ACCEPT_EULA="<the value from this link>"
Senzing follows the Linux File Hierarchy Standard.
Environment variables will be used in --volume
options to externalize the installations.
-
✏️ Specify the directory where to install Senzing. Example:
export SENZING_VOLUME=~/my-senzing
⚠️ macOS - File sharing must be enabled forSENZING_VOLUME
.⚠️ Windows - File sharing must be enabled forSENZING_VOLUME
.
-
Run Docker container. Example:
docker run \ --env SENZING_ACCEPT_EULA=${SENZING_ACCEPT_EULA} \ --rm \ --volume ${SENZING_VOLUME}:/opt/senzing \ senzing/apt
-
When complete, Senzing is installed in the
SENZING_VOLUME
directory. -
For more examples of use, see Examples of Docker.
The following instructions are used when modifying and building the Docker image.
🤔 The following tasks need to be complete before proceeding. These are "one-time tasks" which may already have been completed.
For more information on environment variables, see Environment Variables.
-
Set these environment variable values:
export GIT_ACCOUNT=senzing export GIT_REPOSITORY=docker-apt export GIT_ACCOUNT_DIR=~/${GIT_ACCOUNT}.git export GIT_REPOSITORY_DIR="${GIT_ACCOUNT_DIR}/${GIT_REPOSITORY}"
-
Using the environment variables values just set, follow steps in clone-repository to install the Git repository.
-
Option #1: Using
docker
command and GitHub.sudo docker build \ --tag senzing/apt \ https://github.com/senzing-garage/docker-apt.git#main
-
Option #2: Using
docker
command and local repository.cd ${GIT_REPOSITORY_DIR} sudo docker build --tag senzing/apt .
-
Option #3: Using
make
command.cd ${GIT_REPOSITORY_DIR} sudo make docker-build
Note:
sudo make docker-build-development-cache
can be used to create cached Docker layers.
The following examples require initialization described in Demonstrate using Docker.
By not setting SENZING_ACCEPT_EULA_PARAMETER
, the containerized yum
install will prompt for manual EULA acceptance.
-
Run Docker container. Example:
sudo docker run \ --interactive \ --rm \ --tty \ --volume ${SENZING_VOLUME}:/opt/senzing \ senzing/apt
senzing/apt
can be used to install local DEB files.
-
To download Senzing DEB file, see github.com/Senzing/docker-aptdownloader.
-
✏️ Set additional environment variables. Identify directory containing DEB files and the exact names of the DEB files. Example:
export SENZING_DEB_DIR=~/Downloads export SENZING_API_DEB_FILENAME=senzingapi-nn.nn.nn.x86_64.rpm export SENZING_DATA_DEB_FILENAME=senzingdata-v1-nn.nn.nn.x86_64.rpm
-
Run the Docker container. Example:
sudo docker run \ --env SENZING_ACCEPT_EULA=${SENZING_ACCEPT_EULA} \ --rm \ --volume ${SENZING_VOLUME}:/opt/senzing \ --volume ${SENZING_DEB_DIR}:/data \ senzing/apt -y localinstall \ /data/${SENZING_DATA_DEB_FILENAME} \ /data/${SENZING_API_DEB_FILENAME}
Configuration values specified by environment variable or command line parameter.
- SENZING_ACCEPT_EULA
- SENZING_API_DEB_FILENAME
- SENZING_DATA_DIR
- SENZING_DATA_DEB_FILENAME
- SENZING_DEB_DIR
- SENZING_G2_DIR
- See docs/errors.md.