File size: 1,344 Bytes
4954c84
27af5af
4954c84
 
 
27af5af
4954c84
27af5af
 
 
 
4954c84
27af5af
05d52b1
 
4954c84
27af5af
 
 
 
05d52b1
27af5af
05d52b1
4954c84
27af5af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
05d52b1
27af5af
 
 
 
 
 
 
 
05d52b1
 
27af5af
 
05d52b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

FROM python:3.11-slim as builder

WORKDIR /code

COPY --chown=1000 . .

RUN apt-get update \
    && apt-get install npm  -y --no-install-recommends \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN python -m pip install --upgrade pip \
    && python -m pip install build \
    && python -m pip install -r /code/src/requirements.txt

RUN cd /code/src \
    && cd frontend \
    && npm i -D @gradio/[email protected] \
    && cd .. \
    && rm -rf dist \
    && gradio cc install \
    && gradio cc build --bump-version

FROM python:3.11-slim as final

RUN groupadd -r appgroup \
    && useradd -r -g appgroup -d /home/appuser -m appuser

WORKDIR /home/appuser/app

RUN mkdir -p /tmp/cache/ \
    && chmod a+rwx -R /tmp/cache/

COPY --chown=appuser:appgroup . .
COPY --from=builder --chown=appuser:appgroup /code/src/dist/*.whl ./

USER appuser

ENV PATH="/home/appuser/.local/bin:$PATH" \
    PYTHONPATH="/home/appuser/.local/lib/python3.11/site-packages" \
    TRANSFORMERS_CACHE=/tmp/cache/ \
    PYTHONUNBUFFERED=1 \
    GRADIO_ALLOW_FLAGGING=never \
    GRADIO_NUM_PORTS=1 \
    GRADIO_SERVER_NAME=0.0.0.0 \
    GRADIO_SERVER_PORT=7860 \
    SYSTEM=spaces

RUN python -m pip install --upgrade pip --no-cache-dir \
    && python -m pip install ./gradio_highlightedtextbox*.whl --no-cache-dir

EXPOSE 7860
CMD ["python", "app.py"]