LibreTranslate
Self-hosting LibreTranslate (for the curious)
A short overview of why we self-host the translation backend. You don't need to do anything to use !translate.
You don't need to know any of this to use !translate. This page is just for the curious.
Why we run our own instance
LibreTranslate is open source. We could send team-chat snippets to the public libretranslate.com mirror, but we'd rather:
- Keep team chat on our infrastructure. Privacy matters.
- Avoid per-character billing. Free public mirrors are rate-limited; paid mirrors charge.
- Pin the model. We pick the LibreTranslate model versions we trust and roll them forward on our cadence, not the public mirror's.
What this means for users
- Translation is fast (sub-second on short team-chat lines).
- You won't see "translation quota exceeded" messages.
- We don't log the contents of translated messages.
- If our translation instance is down for some reason,
!translatereturns a clean error in chat — every other command keeps working.
Want to run your own?
LibreTranslate is open source (AGPL) — you can run it yourself with Docker. See the upstream project at github.com/LibreTranslate/LibreTranslate. Plugging your own instance into Rust Pulse isn't currently supported on the user side, but it's a roadmap item; ping us if you'd find it useful.