Build from Source#

Build the Multimodal DataPrep microservice from source to customize, debug, or extend its functionality. In this guide, you will:

  • Set up your development environment.

  • Compile the source code and resolve dependencies.

  • Generate a runnable build for local testing or deployment.

This guide is ideal for developers who want to work directly with the source code.

Prerequisites#

Before you begin, ensure the following:

Steps to Build#

Following options are provided to build the microservice.

Setup in a container using Docker Script#

  1. Clone the repository and change to project directory:

    # Clone the release branch
    git clone https://github.com/open-edge-platform/edge-ai-libraries.git edge-ai-libraries -b release-2026.2.0
    
    cd edge-ai-libraries/microservices/visual-data-preparation-for-retrieval/multimodal-dataprep
    
  2. Set the required environment variables:

    # OPTIONAL - If you want to push the built images to a remote container registry, you need to name the images accordingly. For this, image name should include the registry URL as well. To do this, set the following environment variable from shell. Please note that this URL will be prefixed to the application name and tag to form the final image name.
    
    export REGISTRY_URL=<your-registry-url>
    export TAG=<your-tag> # Default: latest
    

    Refer to the environment variables setup section and configure the required variables.

  3. Build the Multimodal DataPrep Docker image. This uses the microservices/ build context so the local multimodal-embedding-serving source dependency is available during image build.

    ./build.sh
    

    Note: The script automatically honours REGISTRY_URL, PROJECT_NAME, and TAG (just like setup.sh).

  4. Verify the configuration.

    source ./setup.sh --conf
    

    This will output Docker Compose configs with all the environment variables resolved. You can verify whether they appear as expected.

  5. Spin up the services.

    Run the following command to start all services in daemon mode:

    # Run all services in daemon mode
    source ./setup.sh
    

    Alternatively, you can run the services in non-daemon mode to see logs on STDOUT:

    # Run all services in non-daemon mode (logs on STDOUT)
    source ./setup.sh --nd
    
  6. Tear down all the services.

    source ./setup.sh --down
    

Validation#

To verify build success, check the logs. Look for confirmation messages indicating the microservice started successfully.

Troubleshooting#

Supporting Resources#