FROM python:3.11-slim

ARG VERSION=0.0.0.dev0
ARG PIP_EXTRA_INDEX_URL=""

ENV PYTHONUNBUFFERED=1
ENV CYBORGDB_DB_TYPE=standalone
ENV CYBORGDB_CONNECTION_STRING=/app/cyborgdb_data

RUN useradd -m -u 1000 cyborguser

WORKDIR /build
COPY . .

# Install CPU-only PyTorch first to avoid CUDA dependencies
RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu

ARG CACHEBUST=1
RUN SETUPTOOLS_SCM_PRETEND_VERSION=${VERSION} pip install --no-cache-dir \
    ${PIP_EXTRA_INDEX_URL:+--extra-index-url "$PIP_EXTRA_INDEX_URL" --pre} \
    '.[embeddings]' && \
    rm -rf /build

WORKDIR /app
RUN mkdir -p /app/cyborgdb_data && chown -R cyborguser:cyborguser /app
USER cyborguser

EXPOSE 8000

CMD ["cyborgdb-service"]