LibreTranslate,免费开源机器翻译 API,完全自托管。不依赖 Google等专有提供商来执行翻译,它的翻译引擎由开源的 Argos Translate 库提供支持。本文提供搭建自已的翻译服务器的方法。
官网地址:https://libretranslate.com/
项目地址:LibreTranslate/LibreTranslate
官网直接就可以用。
部署
1 2 3 4
| sudo git clone https://github.com/LibreTranslate/LibreTranslate cd LibreTranslate nano docker-compose.yml sudo docker-compose up -d
|
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| services: libretranslate: container_name: libretranslate build: context: . dockerfile: ./docker/Dockerfile restart: unless-stopped ports: - "5000:5000" healthcheck: test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py'] environment: - LT_LOAD_ONLY=en,zh
|
此过程需要梯子。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Building libretranslate [+] Building 424.5s (16/16) FINISHED docker:default => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 1.52kB 0.0s => [internal] load metadata for docker.io/library/python:3.11.11-slim-bullseye 8.3s => [internal] load .dockerignore 0.2s => => transferring context: 115B 0.0s => [builder 1/6] FROM docker.io/library/python:3.11.11-slim-bullseye@sha256:eea93906fa271284cd1bd0742448767a6afe352245c67e1b6ff4a9f2 19.9s => => resolve docker.io/library/python:3.11.11-slim-bullseye@sha256:eea93906fa271284cd1bd0742448767a6afe352245c67e1b6ff4a9f22201f867 0.1s => => sha256:eea93906fa271284cd1bd0742448767a6afe352245c67e1b6ff4a9f22201f867 5.26kB / 5.26kB 0.0s => => sha256:ed7a7f489551214abffb4469f69163db46db11e50b56dc94471dc34a05066264 1.75kB / 1.75kB 0.0s => => sha256:44fb74aaccfb6f3e8edd208c147c995b80c1ab23c2a8708cf7b3458090b22b96 5.29kB / 5.29kB 0.0s => => sha256:b983e127c643116d446fa1b64216f464e1d06a8bfaeeb8a895c361c1bc3f5652 30.26MB / 30.26MB 14.6s => => sha256:7af2721bf536eb7a18aaf13be6d585548f7ac0f7b8804a372def90b864e893a8 15.41MB / 15.41MB 11.3s => => sha256:da38fb816c2245f07225151751ae700e0cb280503761267ab01b1ad9e186fb07 1.08MB / 1.08MB 4.2s => => sha256:a68b3001a7005de40c4a336eebec81942fb2080cf3d0d7f85e79cf8378a302ac 250B / 250B 7.7s => => extracting sha256:b983e127c643116d446fa1b64216f464e1d06a8bfaeeb8a895c361c1bc3f5652 2.2s => => extracting sha256:da38fb816c2245f07225151751ae700e0cb280503761267ab01b1ad9e186fb07 0.1s => => extracting sha256:7af2721bf536eb7a18aaf13be6d585548f7ac0f7b8804a372def90b864e893a8 1.1s => => extracting sha256:a68b3001a7005de40c4a336eebec81942fb2080cf3d0d7f85e79cf8378a302ac 0.0s => [internal] load build context 0.4s => => transferring context: 2.68MB 0.2s => [stage-1 2/6] RUN addgroup --system --gid 1032 libretranslate && adduser --system --uid 1032 libretranslate && mkdir -p /home/libr 8.8s => [builder 2/6] WORKDIR /app 8.3s => [builder 3/6] RUN apt-get update -qq && apt-get -qqq install --no-install-recommends -y pkg-config gcc g++ && apt-get upgrade 75.7s => [builder 4/6] RUN python -mvenv venv && ./venv/bin/pip install --no-cache-dir --upgrade pip 15.8s => [builder 5/6] COPY . . 0.5s => [builder 6/6] RUN ./venv/bin/pip install Babel==2.12.1 && ./venv/bin/python scripts/compile_locales.py && ./venv/bin/pip insta 221.5s => [stage-1 3/6] COPY --from=builder --chown=1032:1032 /app /app 21.5s => [stage-1 4/6] WORKDIR /app 0.2s => [stage-1 5/6] COPY --from=builder --chown=1032:1032 /app/venv/bin/ltmanage /usr/bin/ 0.2s => [stage-1 6/6] RUN if [ "false" = "true" ]; then if [ ! -z "" ]; then ./venv/bin/python scripts/install_models.py --load_only_ 1.2s => exporting to image 28.0s => => exporting layers 27.9s => => writing image sha256:cace4510b11d7b5f1c020a1e24d4ae7fc9926ff86d5e84346fcfb312459cf17d 0.0s => => naming to docker.io/library/libretranslate_libretranslate 0.0s WARNING: Image for service libretranslate was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`. Creating libretranslate ... done
|
体验
从ip:5000访问。

