Docker Compose

Prev Next

Deploying the Edge Docker Compose

This section is a guide on how to deploy PlainID Edge in a containerized environment using Docker compose.
The Docker compose recipe installs the foundational PlainID Edge components required for MCP Gateway, discovery, and RAG enrichment capabilities.
These steps assume that the containerized environment is already available and that docker-compose (or equivalent tool) is installed.

Early Access Prerequisites

Before proceeding with the installation, ensure that you have received access to pull these container images from Docker Hub:

  • plainid/enrichment-agent
  • plainid/vector-db-classifier-engine
  • plainid/discovery-agent
  • plainid/mcp-gateway

Contact PlainID Support for help.

A latest up-to-date recipe is available in our Github Repo.
The recipe is an example of a possible Docker Compose configuration, which should be tuned and updated based on your requirements.

Prerequisites

In cases when data enrichment is required, ensure you have the following:

  • A Pinecone API key.
  • An OpenAI API key for vector-db-classifier-engine.

Deploying the Stack

The following steps walk through cloning the example repository, configuring the required environment variables, and launching the Edge services using Docker Compose.

  1. Clone the git repository with the example recipe:

    $ git clone https://github.com/plainid-org/edge
    
  2. Navigate to the recipe directory:

    # If not in the edge directory, navigate to it
    $ cd edge
    # Navigate to the docker-compose recipe
    $ cd docker-compose
    
  3. Edit each config/<service>/.env and config/<service>/config.yaml file:

  • config/vector-db-classifier-engine/.env
OPENAI_API_KEY=<your-openai-api-key>


  • config/enrichment-agent/.env
JWT_VALIDATION_ENABLED=false
CLASSIFICATION_SERVICE_URL=http://vector-db-classifier-engine:8000
PINECONE_API_KEY=<your-pinecone-api-key>


  • config/mcp-gateway/.env
PLAINID_CLIENT_ID=<your-client-id>
PLAINID_CLIENT_SECRET=<your-client-secret>
PLAINID_RUNTIME_HOST=<plainid-runtime-hostname>
PLAINID_RUNTIME_PORT=8080
  • config/mcp-gateway/config.yaml
    • Configure the mcpServers block with
      the MCP endpoints relevant to your deployment. The provided example uses Context7 as a placeholder.


  • config/discovery-agent/.env
PLAINID_API_URL=https://<plainid-api-endpoint>
PLAINID_DISCOVERY_URL=https://<plainid-lambda-url>
POP_ID=MCP
ENVIRONMENT_ID=<your-environment-id>
PLAINID_MCP_GATEWAY_URL=http://mcp-gateway:5235
PLAINID_CLIENT_ID=<your-client-id>
PLAINID_CLIENT_SECRET=<your-client-secret>
  1. Start the stack (in the background):

    $ docker compose up -d
    

After the stack starts successfully, the PlainID Edge services will run as containers within your environment. The MCP Gateway, discovery agent, and enrichment components will begin operating according to the configuration defined in the .env and config.yaml files. You can verify that all services are running by using standard Docker commands such as docker compose ps or docker logs for troubleshooting and monitoring.

© 2025 PlainID LTD. All rights reserved.