FROM python:3.11-slim AS base

WORKDIR /app

COPY pyproject.toml uv.lock README.md ./

RUN pip install --no-cache-dir uv && \
    uv sync --frozen --no-dev --no-install-project

COPY src/ src/
COPY rules/ rules/

RUN uv sync --frozen --no-dev

ENV PATH="/app/.venv/bin:$PATH"

EXPOSE 8080

CMD ["python", "-m", "mcp_governor"]

FROM python:3.11-slim AS erp-api

WORKDIR /app

RUN pip install --no-cache-dir fastapi uvicorn httpx pydantic

COPY demo/erp_api.py .

EXPOSE 9003

CMD ["uvicorn", "erp_api:app", "--host", "0.0.0.0", "--port", "9003"]

FROM python:3.11-slim AS crm-api

WORKDIR /app

RUN pip install --no-cache-dir fastapi uvicorn httpx pydantic

COPY demo/crm_api.py .

EXPOSE 9002

CMD ["uvicorn", "crm_api:app", "--host", "0.0.0.0", "--port", "9002"]

