# LibreTranslate

Machine translation API that runs offline on your own server.

- Replaces: [DeepL](https://openlogs.fyi/alternatives/deepl), [Google Translate](https://openlogs.fyi/alternatives/google-translate)
- Summary: Paid machine translation services, such as Google Translate and DeepL.
- Stack: Python (language)
- Deployment: docker_compose
- License: AGPL-3.0 (osi) [source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/README.md), read 2026-10-22)
- Difficulty: easy. 1 service, 0 volume mounts, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Requirements: not stated
- Repository: [LibreTranslate/LibreTranslate](https://github.com/LibreTranslate/LibreTranslate)

## Install

1. Docker with the Compose plugin ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the compose file as docker-compose.yml ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml))

   ```yaml
   services:
     libretranslate:
       container_name: libretranslate
       image: libretranslate/libretranslate:latest
       ports:
         - "5000:5000"
       restart: unless-stopped
       healthcheck:
         test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
         interval: 10s
         timeout: 4s
         retries: 4
         start_period: 5s
       ## Uncomment this for logging in docker compose logs
       # tty: true
       ## Uncomment above command and define your args if necessary
       ## Refer to the documentation for more information: https://docs.libretranslate.com/guides/installation/#arguments
       # command: --ssl --req-limit 100 --char-limit 500
       ## Uncomment this section and the libretranslate_api_keys volume if you want to backup your API keys
       # environment:
       #   - LT_API_KEYS=true
       #   - LT_API_KEYS_DB_PATH=/app/db/api_keys.db # Same result as `db/api_keys.db` or `./db/api_keys.db`
       ## Uncomment these vars and libretranslate_models volume to optimize loading time.
       #   - LT_UPDATE_MODELS=true
       #   - LT_LOAD_ONLY=en,fr
       # volumes:
       #   - libretranslate_api_keys:/app/db
       # Keep the models in a docker volume, to avoid re-downloading on startup
       #   - libretranslate_models:/home/libretranslate/.local:rw
   
   # volumes:
   #   libretranslate_api_keys:
   #   libretranslate_models:
   ```

3. Start it ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml))

   ```bash
   docker compose up -d
   ```

4. Open the app ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml))

   ```text
   Open http://localhost:5000. The compose file publishes host port 5000 for the libretranslate service.
   ```

Compose file check: config_ok on 2026-10-22.

## Gotchas and maintenance

### Gotchas

- Some images use the latest tag or no tag: Images without a pinned version: libretranslate: libretranslate/libretranslate:latest. A later pull can get a different version. ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml), checked 2026-10-22)
- The compose file publishes host ports: Host ports: 5000 (libretranslate). A port without a host address listens on all host network interfaces. ([source](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 129
- Stars: 17145, forks: 1784
- Last push: 2026-10-12 (9 days ago)
- Latest release: v1.9.6 on 2026-05-26 (148 days ago)

## Sources

- [Repository: https://github.com/LibreTranslate/LibreTranslate](https://github.com/LibreTranslate/LibreTranslate)
- [License: https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/LICENSE](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/LICENSE)
- [Business model: https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/README.md](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/README.md)
- [Compose file: https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml](https://github.com/LibreTranslate/LibreTranslate/blob/89e8a56b93244cf3803b9a0496a9b51b9fbc6186/docker-compose.yml)

---
Canonical: https://openlogs.fyi/tools/libretranslate  
Last updated: 2026-10-22
