Commit ff8a5ae6 authored by Kostas Chartsias's avatar Kostas Chartsias
Browse files

deployment via Docker Compose

parent f95e0bcc
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
# Module deployment via docker compose

## Prerequisites
- Docker
- Docker Compose v2+

## Environment Variables

This deployment relies on a `.env` file that is loaded at runtime by Docker Compose.
```
GROQ_API_KEY=your-secret-key
OpenOP_ISI_BACKEND=http://example-backend
```

## Run
Start services

```
docker compose --env-file .env up -d
```
Stop services
```
docker compose down
```

## Additional Info
All service ports are explicitly forwarded to the host to simplify local development, testing and debugging.
This allows you to interact with APIs and MCP Servers individually, without attaching to containers or using internal Docker networking tools.

---
 No newline at end of file
+46 −0
Original line number Diff line number Diff line
version: "3.9"

services:
  api:
    image: labs.etsi.org:5050/oop/code/ai2/dummy_backend
    container_name: api
    environment:
      API_HOST: 0.0.0.0
      API_PORT: 8081
    ports:
      - "8081:8081"
    networks:
      - ai_net

  mcp:
    image: labs.etsi.org:5050/oop/code/ai2/mcp_module
    container_name: mcp
    environment:
      MCP_HOST: 0.0.0.0
      MCP_PORT: 8004
      OpenOP_Backend: http://api:8081
      OpenOP_ISI_BACKEND: ${OpenOP_ISI_BACKEND}
    ports:
      - "8004:8004"
    networks:
      - ai_net

  ai-agent:
    image: labs.etsi.org:5050/oop/code/ai2/ai_agent
    container_name: ai-agent
    depends_on:
      - mcp
    environment:
      APP_HOST: 0.0.0.0
      APP_PORT: 9013
      MCP_SERVER_URL: http://mcp:8004/mcp
      GROQ_API_KEY: ${GROQ_API_KEY}
      GROQ_MODEL_NAME: qwen/qwen3-32b
    ports:
      - "9013:9013"
    networks:
      - ai_net

networks:
  ai_net:
    driver: bridge