From 57bcae918d82349b3845be5d60480017eb8093f0 Mon Sep 17 00:00:00 2001 From: euberdeveloper Date: Sun, 24 Dec 2023 02:24:55 +0100 Subject: [PATCH] build(docker): add arm version Signed-off-by: euberdeveloper --- docker/arm.Dockerfile | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docker/arm.Dockerfile diff --git a/docker/arm.Dockerfile b/docker/arm.Dockerfile new file mode 100644 index 0000000..f60c8ad --- /dev/null +++ b/docker/arm.Dockerfile @@ -0,0 +1,43 @@ +FROM arm64v8/python:3.10.10-slim-bullseye as builder + +WORKDIR /app + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update -qq \ + && apt-get -qqq install --no-install-recommends -y pkg-config gcc g++ \ + && apt-get upgrade --assume-yes \ + && apt-get clean \ + && rm -rf /var/lib/apt + +RUN python -mvenv venv && ./venv/bin/pip install --no-cache-dir --upgrade pip + +COPY . . + +# Install package from source code, compile translations +RUN ./venv/bin/pip install Babel==2.12.1 && ./venv/bin/python scripts/compile_locales.py \ + && ./venv/bin/pip install torch==2.0.1 --extra-index-url https://download.pytorch.org/whl/cpu \ + && ./venv/bin/pip install . \ + && ./venv/bin/pip cache purge + +FROM arm64v8/python:3.10.10-slim-bullseye + +ARG with_models=false +ARG models="" + +RUN addgroup --system --gid 1032 libretranslate && adduser --system --uid 1032 libretranslate && mkdir -p /home/libretranslate/.local && chown -R libretranslate:libretranslate /home/libretranslate/.local +USER libretranslate + +COPY --from=builder --chown=1032:1032 /app /app +WORKDIR /app + +RUN if [ "$with_models" = "true" ]; then \ + # initialize the language models + if [ ! -z "$models" ]; then \ + ./venv/bin/python scripts/install_models.py --load_only_lang_codes "$models"; \ + else \ + ./venv/bin/python scripts/install_models.py; \ + fi \ + fi + +EXPOSE 5000 +ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "0.0.0.0" ]