1
0
mirror of https://github.com/LibreTranslate/LibreTranslate.git synced 2024-12-18 08:27:03 +02:00
LibreTranslate/docker/cuda.Dockerfile

47 lines
1.5 KiB
Docker
Raw Normal View History

2024-05-06 21:06:40 +02:00
FROM nvidia/cuda:12.4.1-devel-ubuntu20.04
2022-06-21 00:20:07 +02:00
ENV ARGOS_DEVICE_TYPE cuda
2023-04-03 10:39:22 +02:00
ARG with_models=false
2023-01-12 15:23:13 +02:00
ARG models=""
2022-06-21 00:20:07 +02:00
WORKDIR /app
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq \
&& apt-get -qqq install --no-install-recommends -y libicu-dev libaspell-dev libcairo2 libcairo2-dev pkg-config gcc g++ python3.8-dev python3-pip libpython3.8-dev\
&& apt-get upgrade --assume-yes \
2022-06-21 00:20:07 +02:00
&& apt-get clean \
&& rm -rf /var/lib/apt
RUN pip3 install --no-cache-dir --upgrade pip && apt-get remove python3-pip --assume-yes
2022-06-21 00:20:07 +02:00
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN pip3 install --no-cache-dir torch==1.12.0+cu116 -f https://download.pytorch.org/whl/torch_stable.html
COPY . .
2022-06-21 00:20:07 +02:00
RUN if [ "$with_models" = "true" ]; then \
# install only the dependencies first
pip3 install --no-cache-dir -e .; \
2022-06-21 00:20:07 +02:00
# initialize the language models
if [ ! -z "$models" ]; then \
2023-01-12 15:23:13 +02:00
./scripts/install_models.py --load_only_lang_codes "$models"; \
2022-06-21 00:20:07 +02:00
else \
2023-01-12 15:23:13 +02:00
./scripts/install_models.py; \
2022-06-21 00:20:07 +02:00
fi \
fi
# Install package from source code
2023-04-03 10:39:00 +02:00
RUN pip3 install Babel==2.12.1 && python3 scripts/compile_locales.py \
&& pip3 install "numpy<2" \
&& pip3 install . \
&& pip3 cache purge
# Depending on your cuda install you may need to uncomment this line to allow the container to access the cuda libraries
# See: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
# ENV LD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/lib64
2022-06-21 00:20:07 +02:00
EXPOSE 5000
2024-03-06 17:30:28 +02:00
ENTRYPOINT [ "libretranslate", "--host", "*" ]