| 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"] |