TODOΒΆ

  • On the canonical domain libretranslate.<DOMAIN_PRIMARY> the interface opens with a warning card β€œThis website might be in violation of our trademark guidelines” instead of the translation form until the visitor clicks β€œDismiss” (measured: 7 of 10 loads). Upstream libretranslate/templates/app.js.template:75-78 sets it for every host name that starts with libretranslate. and does not end in .com, whenever /frontend/settings answers before /languages. Options: move the canonical domain in meta/domains.yml to a name that does not start with libretranslate. (for example translate.<DOMAIN_PRIMARY>), or leave it.

  • Inference requests exhaust the container limits mem_limit: 256m and cpus: "0.2" of meta/services.yml, because gunicorn starts four workers (LT_THREADS default) that each load the models on their first request. Measured: three POST /translate calls in a row gave 502 after 4.7 s, 200 after 79 s and 502 after 40 s with four Worker (pid) was sent SIGKILL! Perhaps out of memory? lines, and a series of POST /detect calls from Swagger UI (at most sixteen) killed two more workers and left the container at 248.9 MiB of 256 MiB and 20 % CPU, reported healthy, while no request (not even a static file) was answered for 20 minutes until the container was restarted. Options: raise mem_limit and cpus, set LT_THREADS to one worker in templates/env.j2, and let scripts/healthcheck.py fail when the HTTP port stops answering.