FROM python:3.12-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1

WORKDIR /workspace

COPY requirements-lock.txt /workspace/requirements-lock.txt
RUN python -m pip install --upgrade pip && \
    pip install -r /workspace/requirements-lock.txt

COPY . /workspace

EXPOSE 8888

CMD ["sh", "-c", "jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --ServerApp.root_dir=/workspace --ServerApp.token=${JUPYTER_TOKEN}"]
