|
|
FROM public.ecr.aws/docker/library/python:3.12.11-slim-trixie AS builder |
|
|
|
|
|
RUN apt-get update && \ |
|
|
apt-get install -y \ |
|
|
g++ \ |
|
|
make \ |
|
|
cmake \ |
|
|
pkg-config \ |
|
|
unzip \ |
|
|
libcurl4-openssl-dev \ |
|
|
build-essential \ |
|
|
libopenblas-dev \ |
|
|
git && \ |
|
|
apt-get clean && \ |
|
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
RUN python3 -m pip install --upgrade pip |
|
|
|
|
|
|
|
|
ENV CMAKE_ARGS="-DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS" |
|
|
|
|
|
WORKDIR /src |
|
|
|
|
|
COPY requirements_aws.txt . |
|
|
|
|
|
RUN pip install torch>=2.6.0+cpu --target=/install --index-url https://download.pytorch.org/whl/cpu \ |
|
|
&& pip install --no-cache-dir --target=/install sentence-transformers==5.1.2 --no-deps \ |
|
|
&& pip install --no-cache-dir --target=/install span-marker==1.7.0 --no-deps \ |
|
|
&& pip install --no-cache-dir --target=/install keybert==0.9.0 --no-deps \ |
|
|
&& pip install --no-cache-dir --target=/install -r requirements_aws.txt |
|
|
|
|
|
|
|
|
FROM public.ecr.aws/docker/library/python:3.12.11-slim-trixie |
|
|
|
|
|
RUN apt-get update && \ |
|
|
apt-get install -y \ |
|
|
libopenblas0 && \ |
|
|
apt-get clean && \ |
|
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
|
|
|
|
|
|
|
RUN mkdir -p /home/user/app/{output,input,tld,logs,usage,feedback,config} \ |
|
|
&& chown -R user:user /home/user/app |
|
|
|
|
|
|
|
|
COPY --from=builder /install /usr/local/lib/python3.12/site-packages/ |
|
|
|
|
|
|
|
|
USER user |
|
|
|
|
|
|
|
|
ENV APP_HOME=/home/user |
|
|
|
|
|
ENV PATH=$APP_HOME/.local/bin:$PATH \ |
|
|
PYTHONPATH=$APP_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_ANALYTICS_ENABLED=False \ |
|
|
TLDEXTRACT_CACHE=$APP_HOME/app/tld/.tld_set_snapshot \ |
|
|
SYSTEM=spaces \ |
|
|
LLAMA_CUBLAS=0 |
|
|
|
|
|
|
|
|
WORKDIR $APP_HOME/app |
|
|
|
|
|
|
|
|
COPY --chown=user . $APP_HOME/app |
|
|
|
|
|
|
|
|
RUN chown -R user:user $APP_HOME/app && chmod -R u+rwX $APP_HOME/app |
|
|
|
|
|
CMD ["python", "app.py"] |