clean Dockerfiles

This commit is contained in:
ale 2024-07-05 13:44:21 +02:00
parent 7ca5093785
commit 47e260e94a
3 changed files with 2 additions and 115 deletions

View File

@ -6,22 +6,10 @@ services:
stages:
- build_amd64
- build_arm64
# - build_cuda
before_script:
- docker -v
#build_amd64:
# stage: build_amd64
# needs: []
# before_script:
# - git submodule update --init --recursive
# script:
# - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
# - docker compose build libretranslate
# - docker tag libretranslate $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:latest
# - docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:latest
build_amd64:
stage: build_amd64
needs: []
@ -29,7 +17,7 @@ build_amd64:
- git submodule update --init --recursive
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker buildx build --build-arg "with_models=true" -t libretranslate:amd64 -f ./docker/Dockerfile LibreTranslate/
- docker buildx build --build-arg "with_models=true" -t libretranslate:amd64 -f docker/Dockerfile LibreTranslate/
- docker tag libretranslate:amd64 $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:amd64
- docker tag libretranslate:amd64 $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:latest
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:amd64
@ -43,17 +31,6 @@ build_arm64:
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker buildx build --platform arm64 --build-arg "with_models=true" -t libretranslate:arm64 -f ./docker/arm.Dockerfile LibreTranslate/
- docker buildx build --platform arm64 --build-arg "with_models=true" -t libretranslate:arm64 -f docker/arm.Dockerfile LibreTranslate/
- docker tag libretranslate:arm64 $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:arm64
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:arm64
#build_cuda:
# stage: build_cuda
# needs: []
# before_script:
# - git submodule update --init --recursive
# script:
# - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
# - docker buildx build --build-arg "with_models=true" -t libretranslate:cuda -f LibreTranslate/docker/cuda.Dockerfile LibreTranslate/
# - docker tag libretranslate:cuda $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:cuda
# - docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:cuda

View File

@ -1,46 +0,0 @@
FROM python:3.11.9-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 python:3.11.9-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
COPY --from=builder --chown=1032:1032 /app/venv/bin/ltmanage /usr/bin/
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
RUN ./venv/bin/pip install numpy==1.24.1
EXPOSE 5000
ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "*" ]

View File

@ -1,44 +0,0 @@
FROM arm64v8/python:3.11.9-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.11.9-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
RUN ./venv/bin/pip install numpy==1.24.1
EXPOSE 5000
ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "*" ]