Skip to main content

LibreTranslate: API de traducción de texto autohospedada y sin dependencia de terceros


LibreTranslate es unaun herramientatraductor deautomático traducción automática gratuita y de código abiertolibre que puedespuede alojar en tu propio servidor. Su configuracióndesplegarse con CUDAsoporte para CUDA. Esto permite aprovecharusar la potencia de las GPUsGPU para acelerar loslas procesostraducciones, delo traducción.cual es útil si vas a montarlo en local y quieres buena respuesta.

Características principales:

docker-compose.cuda.yml

services:
  libretranslate-cuda:
    container_name: LT-CUDA
    build:
      context: .
      dockerfile: docker/cuda.Dockerfile
    environment:
      - LTHOST=127.0.0.1
      - LT_PORT=5000
      - LT_THREADS=24
      - LT_API_KEYS=true
      - LT_SUGGESTIONS=true
      - LT_API_KEYS_DB_PATH=/app/db/api_keys.db
      - LT_UPDATE_MODELS=true
      - LT_LOAD_ONLY=en,es
    volumes:
      - /ruta/a/tu/db:/app/db
      - /ruta/a/tus/modelos:/home/libretranslate/.local:rw
    ports:
      - "5006:5000"
    restart: unless-stopped
    tty: true
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    healthcheck:
      test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']

networks:
  default:
    name: LT_NET

Detalles clave

  • TraductorGPU autónomo(CUDA): necesita una tarjeta NVIDIA y personalizable.drivers configurados correctamente.
  • CompatibleModelos: deben estar descargados en la ruta indicada. Se pueden limitar los idiomas a cargar (LT_LOAD_ONLY=en,es).
API Keys: puede limitar el uso de la API con múltiplesclaves idiomas.almacenadas en SQLite. CapacidadDockerfile: paraconstruye funcionardesde endocker/cuda.Dockerfile, servidoresno con soporte GPU paraes una mayorimagen velocidad. Admite claves API y modelos personalizables.prehecha.

Requisitos previos

Uso

  1. Clonar el repositorio de LibreTranslate:
    Antes de usar el archivo docker-compose.cuda.yml, necesitas clonar el repositoriorepo oficial:

    git clone https://github.com/LibreTranslate/LibreTranslate.git
    cd LibreTranslate
    
  2. ConfigurarEditar los modelosrutas y dependencias:
    variables Asegúrate de tener configurados los modelos de idioma que usarás y las dependencias necesarias.


Configuración del contenedor

Archivo docker-compose.cuda.yml

services:
  libretranslate-cuda:
    container_name: LT-CUDA
    environment:
      - LTHOST="127.0.0.1" # Dirección de host
      - LT_PORT="5000" # Puerto del contenedor
      - LT_THREADS="24" # Número de hilos paraen el procesamiento
      - LT_API_KEYS=true # Habilitar claves API
      - LT_SUGGESTIONS=true # Activar sugerencias automáticas
      - LT_API_KEYS_DB_PATH=/app/db/api_keys.db # Ruta de la base de datos de claves API
      - LT_UPDATE_MODELS=true # Permitir la actualización de modelos
      - LT_LOAD_ONLY=en,es # Cargar solo modelos para inglés y español
    volumes:
      - /ruta/a/tu/db:/app/db # Carpeta para la base de datos de claves API
      - /ruta/a/tus/modelos:/home/libretranslate/.local:rw # Carpeta para los modelos de idiomas
    build:
      context: .
      dockerfile: docker/cuda.Dockerfile
    restart: unless-stopped
    ports:
      - "5006:5000" # Puerto de acceso al servicio
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu] # Usar una GPU para acelerar
    tty: true
    healthcheck:
      test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py'] # Verifica la salud del contenedor

networks:
  default:
    name: LT_NET

Explicación de la configuración

    build:
    Compila la imagen desde el archivo docker/cuda.Dockerfile. Asegúrate de que el contexto esté configurado correctamente.YAML.

    environment:
    Levantar Configura las variables clave:

      LTHOST: Dirección de host en la que el servicio escuchará. LT_PORT: Puerto interno del contenedor. LT_THREADS: Número de hilos para procesamiento. LT_API_KEYS: Habilita las claves API para gestionar accesos. LT_LOAD_ONLY: Define los idiomas cargados (por ejemplo, inglés y español).

      volumes:

        Mapea las carpetas locales para la base de datos de claves y los modelos de idioma.

        deploy:

          Usa recursos GPU si están disponibles, asegurando un rendimiento superior.

          healthcheck:

            Ejecuta un script para verificar la salud del contenedor periódicamente.

            Pasos para usar LibreTranslate con CUDA

              Clona el repositorio y dirígete al directorio:

              git clone https://github.com/LibreTranslate/LibreTranslate.git
              cd LibreTranslate
              

              Construye e inicia el contenedor:contenedor:

              docker-compose -f docker-compose.cuda.yml up -d
              

              AccedeAcceso aldesde servicio:
              Abre tu navegador en:navegador:

              http://<IP_DEL_SERVIDORIP-del-servidor>:5006
              

              Verifica la salud del contenedor:

              docker-compose logs -f
              

              Más

              Notas información

              Para detalles adicionales, consulta:

              personales No he probado a integrar con Authentik porque no lo tengo accesible desde fuera. Si se expone, va tras Authentik sí o sí.

              Enlaces de interés

                Repositorio oficial Sitio oficial Repositorio personal en Gitea Wiki: proteger con Authentik