| |
|
|
| |
|
|
| ARG BASE_IMAGE=mirror.gcr.io/ubuntu:22.04 |
|
|
| FROM ${BASE_IMAGE} AS download-env |
| ARG DEBIAN_FRONTEND=noninteractive |
|
|
| WORKDIR /work |
|
|
| RUN <<EOF |
| set -eux |
|
|
| apt-get update |
| apt-get install -y \ |
| curl \ |
| p7zip |
| apt-get clean |
| rm -rf /var/lib/apt/lists/* |
| EOF |
|
|
| |
| ENV VOICEVOX_ENGINE_TARGET=linux-cpu-x64 |
| ENV VOICEVOX_ENGINE_VERSION=0.25.1 |
| ENV VOICEVOX_ENGINE_REPOSITORY=VOICEVOX/voicevox_engine |
| ENV VV_HOST=0.0.0.0 |
|
|
|
|
| RUN <<EOF |
| set -eux |
|
|
| LIST_NAME=voicevox_engine-$VOICEVOX_ENGINE_TARGET-$VOICEVOX_ENGINE_VERSION.7z.txt |
|
|
| curl -fLO --retry 3 --retry-delay 5 "https://github.com/$VOICEVOX_ENGINE_REPOSITORY/releases/download/$VOICEVOX_ENGINE_VERSION/$LIST_NAME" |
|
|
| awk \ |
| -v "repo=$VOICEVOX_ENGINE_REPOSITORY" \ |
| -v "tag=$VOICEVOX_ENGINE_VERSION" \ |
| '{ |
| print \ |
| "url = \"https://github.com/" repo "/releases/download/" tag "/" $0 "\"\n" \ |
| "output = \"" $0 "\"" |
| }' \ |
| "$LIST_NAME" \ |
| > ./curl.txt |
|
|
| curl -fL --retry 3 --retry-delay 5 --parallel --config ./curl.txt |
|
|
| 7zr x "$(head -1 "./$LIST_NAME")" |
|
|
| mv ./$VOICEVOX_ENGINE_TARGET /opt/voicevox_engine |
| rm ./* |
| EOF |
|
|
| |
| ARG VOICEVOX_RESOURCE_VERSION=0.25.1 |
| RUN <<EOF |
| set -eux |
|
|
| |
| curl -fLo "/work/README.md" --retry 3 --retry-delay 5 "https://raw.githubusercontent.com/VOICEVOX/voicevox_resource/${VOICEVOX_RESOURCE_VERSION}/engine/README.md" |
| EOF |
|
|
| |
| ARG COEIROINK_BRIDGE_VERSION=0.1.0 |
|
|
| RUN <<EOF |
| set -eux |
|
|
| mkdir -p /work/vvpp |
|
|
| curl -fLo "/work/vvpp/coeiroink-bridge-v${COEIROINK_BRIDGE_VERSION}.vvpp" \ |
| --retry 3 \ |
| --retry-delay 5 \ |
| "https://github.com/sevenc-nanashi/coeiroink-v2-bridge/releases/download/v${COEIROINK_BRIDGE_VERSION}/coeiroink-bridge-v${COEIROINK_BRIDGE_VERSION}.vvpp" |
| EOF |
|
|
|
|
| |
| FROM ${BASE_IMAGE} AS runtime-env |
| ARG DEBIAN_FRONTEND=noninteractive |
|
|
| WORKDIR /opt/voicevox_engine |
|
|
| RUN <<EOF |
| set -eux |
|
|
| apt-get update |
| apt-get install -y \ |
| gosu |
| apt-get clean |
| rm -rf /var/lib/apt/lists/* |
|
|
| |
| useradd --create-home user |
| EOF |
|
|
| |
| COPY --from=download-env /opt/voicevox_engine /opt/voicevox_engine |
|
|
| |
| COPY --from=download-env /work/README.md /opt/voicevox_engine/README.md |
|
|
| |
| COPY --from=download-env /work/vvpp /opt/voicevox_engine/vvpp |
|
|
|
|
| RUN export VV_HOST=0.0.0.0 |
| ENV VV_HOST=0.0.0.0 |
| RUN apt-get update && apt-get install -y python3 && rm -rf /var/lib/apt/lists/* |
|
|
| |
| COPY --from=download-env /work/vvpp /opt/voicevox_engine/vvpp |
|
|
| RUN <<EOF |
| set -eux |
| apt-get update |
| apt-get install -y \ |
| gosu \ |
| p7zip |
| apt-get clean |
| rm -rf /var/lib/apt/lists/* |
| EOF |
|
|
| CMD ["gosu","user","/opt/voicevox_engine/run","--host", "0.0.0.0","--port","7860","--cors_policy_mode","all"] |
|
|
| |
| FROM runtime-env AS runtime-nvidia-env |
|
|
| ENV VV_USE_GPU=1 |