Rodrigo Schmidt Nurmberg
build: Enhance Docker build configuration
745fe4a
raw
history blame
1.18 kB
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 \
&& pip install build \
&& pip install -r /code/src/requirements.txt
RUN cd /code/src \
&& cd frontend \
&& npm i -D @gradio/[email protected] \
&& cd .. \
&& gradio cc install \
&& gradio cc build
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" \
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 \
&& pip install ./gradio_highlightedtextbox*.whl
EXPOSE 7860
CMD ["python", "app.py"]