# syntax=docker/dockerfile:1
# Chanakya hub — interactive REPL / future A2A server
# Build context: project root (ai-enterprise-brain/)
# docker build -f backend/chanakya/Dockerfile .

FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim

# --- OS hardening --------------------------------------------------------- #
RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        git \
    && rm -rf /var/lib/apt/lists/*

# --- uv config ------------------------------------------------------------ #
ENV UV_SYSTEM_PYTHON=1 \
    UV_NO_CACHE=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

WORKDIR /app

# --- Install Python deps (layer cached until requirements change) --------- #
COPY backend/chanakya/requirements.txt ./requirements.txt
RUN uv pip install -r requirements.txt

# --- Copy application source ---------------------------------------------- #
COPY backend/ ./backend/
RUN touch /app/backend/__init__.py

# --- Python path ---------------------------------------------------------- #
ENV PYTHONPATH=/app

# Default: run the REPL  (override in docker compose for server mode)
CMD ["sh", "-c", "uvicorn backend.chanakya.rt_agent.server:app --host 0.0.0.0 --port ${CHANAKYA_PORT:-7010}"]
