repaired Dockerfiles
This commit is contained in:
parent
3ea6018528
commit
db8af05420
@ -6,11 +6,22 @@ services:
|
|||||||
stages:
|
stages:
|
||||||
- build_amd64
|
- build_amd64
|
||||||
- build_arm64
|
- build_arm64
|
||||||
- build_cuda
|
# - build_cuda
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker -v
|
- 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:
|
build_amd64:
|
||||||
stage: build_amd64
|
stage: build_amd64
|
||||||
needs: []
|
needs: []
|
||||||
@ -18,8 +29,10 @@ build_amd64:
|
|||||||
- git submodule update --init --recursive
|
- git submodule update --init --recursive
|
||||||
script:
|
script:
|
||||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||||
- docker compose build libretranslate
|
- docker buildx build --build-arg "with_models=true" -t libretranslate:amd64 -f ./docker/Dockerfile LibreTranslate/
|
||||||
- docker tag libretranslate $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:latest
|
- 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
|
||||||
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:latest
|
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:latest
|
||||||
|
|
||||||
build_arm64:
|
build_arm64:
|
||||||
@ -30,17 +43,17 @@ build_arm64:
|
|||||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||||
script:
|
script:
|
||||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
- 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 LibreTranslate/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 tag libretranslate:arm64 $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:arm64
|
||||||
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:arm64
|
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:arm64
|
||||||
|
|
||||||
build_cuda:
|
#build_cuda:
|
||||||
stage: build_cuda
|
# stage: build_cuda
|
||||||
needs: []
|
# needs: []
|
||||||
before_script:
|
# before_script:
|
||||||
- git submodule update --init --recursive
|
# - git submodule update --init --recursive
|
||||||
script:
|
# script:
|
||||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
# - 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 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 tag libretranslate:cuda $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:cuda
|
||||||
- docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:cuda
|
# - docker push $CI_REGISTRY/manalejandro/libretranslate-api/libretranslate-api:cuda
|
||||||
|
46
docker/Dockerfile
Normal file
46
docker/Dockerfile
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
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", "*" ]
|
44
docker/arm.Dockerfile
Normal file
44
docker/arm.Dockerfile
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
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", "*" ]
|
Loading…
Reference in New Issue
Block a user