File size: 2,062 Bytes
f28d106
 
 
 
601e599
 
f28d106
402daee
 
6fd9cf8
 
402daee
7a84f72
f28d106
 
 
 
 
 
 
 
 
 
 
 
 
402daee
 
 
6fd9cf8
b6d6f2e
8ed8af9
7a84f72
b6d6f2e
 
 
7a84f72
 
 
 
6fd9cf8
b6d6f2e
 
 
6fd9cf8
b6d6f2e
6fd9cf8
 
 
b6d6f2e
402daee
 
 
 
6fd9cf8
402daee
 
 
6fd9cf8
402daee
6fd9cf8
402daee
 
 
 
 
f28d106
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
FROM swaggerapi/swagger-ui:v4.18.2 AS swagger-ui
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04

ARG SERVICE_USER=service
ARG SERVICE_UID={$UID}
ARG SERVICE_GID={$GID}

ENV PYTHON_VERSION=3.10
ENV POETRY_VENV=/app/.venv
ENV HF_HOME="/app/.cache"
ENV ASR_MODEL_PATH="/app/.cache"

RUN export DEBIAN_FRONTEND=noninteractive && apt-get -qq update && apt-get -qq install --no-install-recommends \
    python${PYTHON_VERSION} \
    python${PYTHON_VERSION}-venv \
    python3-pip \
    lua5.3 \
    lua5.4 \
    lua-check \
    fswatch \
    make \
    ffmpeg \
    redis \
    && rm -rf /var/lib/apt/lists/*

RUN ln -s -f /usr/bin/python${PYTHON_VERSION} /usr/bin/python3 && \
    ln -s -f /usr/bin/python${PYTHON_VERSION} /usr/bin/python && \
    ln -s -f /usr/bin/pip3 /usr/bin/pip

RUN groupadd -g $SERVICE_GID $SERVICE_USER && \
    useradd -m -u $SERVICE_UID -g $SERVICE_GID -s /bin/bash $SERVICE_USER

USER $SERVICE_USER
WORKDIR /home/$SERVICE_USER

RUN mkdir -p /app/.cache && chmod -R 777 /app

ENV HF_HOME="/app/.cache"
ENV ASR_MODEL_PATH="/app/.cache"
ENV PATH="${PATH}:${POETRY_VENV}/bin"

COPY --chown=$SERVICE_USER:$SERVICE_USER . /app
COPY --chown=$SERVICE_USER:$SERVICE_USER --from=swagger-ui /usr/share/nginx/html/swagger-ui.css /app/swagger-ui-assets/swagger-ui.css
COPY --chown=$SERVICE_USER:$SERVICE_USER --from=swagger-ui /usr/share/nginx/html/swagger-ui-bundle.js /app/swagger-ui-assets/swagger-ui-bundle.js

WORKDIR /app
RUN python3 -m venv $POETRY_VENV && $POETRY_VENV/bin/pip install -U pip setuptools && \
    $POETRY_VENV/bin/pip install poetry==1.6.1

COPY --chown=$SERVICE_USER:$SERVICE_USER poetry.lock pyproject.toml ./

RUN poetry config virtualenvs.in-project true
RUN poetry install --no-root

RUN poetry install && rm -rf /app/.cache/pypoetry
RUN $POETRY_VENV/bin/pip install --no-cache-dir torch==1.13.1+cu117 -f https://download.pytorch.org/whl/torch

WORKDIR /app/reascripts/ReaSpeech
RUN ls -la /app/reascripts/ReaSpeech
RUN make publish

WORKDIR /app
RUN rm -rf reascripts

ENTRYPOINT ["python3", "app/run.py"]

EXPOSE 9000