FROM python:3.12-slim
FROM continuumio/miniconda3

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV NUMBA_NUM_THREADS=1
ENV NUMBA_THREADING_LAYER=tbb

WORKDIR /workspace

COPY pyproject.toml README.md ./
COPY src ./src

RUN apt-get update && \
    apt-get install -y python3-tk

RUN conda update -n base -c defaults conda -y && \
    conda install --yes --solver=classic -c conda-forge \
    umap-learn numba tbb

RUN pip3 install --upgrade pip && \
    pip3 install --no-cache-dir .

RUN useradd -ms /bin/bash appuser
RUN chown -R appuser:appuser /workspace
USER appuser

ENV HOME=/tmp
ENV TMPDIR=/tmp

ENTRYPOINT ["neollama"]