FROM python:3.12-slim

COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
COPY --from=duckdb/duckdb:1.3.2 /duckdb /bin/duckdb

RUN apt-get update && \
    apt-get install -y telnet && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app/

COPY pyproject.toml uv.lock /app/

COPY images/aiops-server/startup.sh /app/startup.sh

COPY aiops /app/aiops

RUN uv sync --frozen --no-dev --no-cache --no-install-project

RUN chmod -R 755 /app/aiops/static

RUN mkdir -p /app/aiops/.duckdb_extensions && \
    chown -R 65532:65532 /app/aiops/.duckdb_extensions

RUN mkdir -p /app/aiops/static/guardian/sop_rag/sop_vector_db && \
    chown -R 65532:65532 /app/aiops/static/guardian/sop_rag/sop_vector_db

USER 65532:65532

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

CMD ["bash", "-c", "/app/startup.sh"]
