|
|
|
FROM public.ecr.aws/docker/library/python:3.11.9-slim-bookworm AS builder |
|
|
|
|
|
|
|
|
|
|
|
RUN apt-get update && rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
RUN mkdir -p /model /model/minilm /install |
|
|
|
WORKDIR /src |
|
|
|
COPY requirements_aws.txt . |
|
|
|
RUN pip install torch==2.4.0+cpu --target=/install --index-url https://download.pytorch.org/whl/cpu \ |
|
&& pip install --no-cache-dir --target=/install sentence-transformers==3.0.1 --no-deps \ |
|
&& pip install --no-cache-dir --target=/install -r requirements_aws.txt \ |
|
&& pip install --no-cache-dir --target=/install gradio==4.41.0 |
|
|
|
|
|
ENV PYTHONPATH="/install:${PYTHONPATH}" |
|
|
|
|
|
COPY download_model.py /src/download_model.py |
|
RUN python /src/download_model.py |
|
|
|
|
|
FROM public.ecr.aws/docker/library/python:3.11.9-slim-bookworm |
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
|
|
|
|
COPY --from=builder /install /usr/local/lib/python3.11/site-packages/ |
|
|
|
|
|
RUN chown -R user:user /home/user |
|
|
|
|
|
RUN mkdir -p /home/user/app/output && mkdir -p /home/user/.cache/huggingface/hub && chown -R user:user /home/user |
|
|
|
|
|
COPY --from=builder /model/minilm /home/user/app/model/minilm |
|
|
|
|
|
USER user |
|
|
|
|
|
ENV HOME=/home/user \ |
|
PATH=/home/user/.local/bin:$PATH \ |
|
PYTHONPATH=$HOME/app \ |
|
PYTHONUNBUFFERED=1 \ |
|
PYTHONDONTWRITEBYTECODE=1 \ |
|
GRADIO_ALLOW_FLAGGING=never \ |
|
GRADIO_NUM_PORTS=1 \ |
|
GRADIO_SERVER_NAME=0.0.0.0 \ |
|
GRADIO_SERVER_PORT=7860 \ |
|
GRADIO_THEME=huggingface \ |
|
AWS_STS_REGIONAL_ENDPOINT=regional \ |
|
SYSTEM=spaces |
|
|
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
COPY --chown=user . $HOME/app |
|
|
|
CMD ["python", "app.py"] |