Setting up LanguageTool
One container, then pointing the usual clients (browser extension, LibreOffice) at it instead of the public API.
- 1
Run the container
The default install works out of the box, spell and grammar checking for the languages it ships with by default.
services: languagetool: image: erikvl87/languagetool:latest container_name: languagetool restart: unless-stopped ports: - "8010:8010" - 2
Add n-gram data for better suggestions (optional)
LanguageTool's confusion-word suggestions (their/there, its/it's) get noticeably better with n-gram data mounted in, at the cost of a multi-gigabyte download per language. Worth it if writing quality matters more than disk space.
- 3
Point the browser extension at this server
The official LanguageTool extension (Chrome, Firefox, Edge) has a setting for a custom server URL, switch it from the public API to this container's address.
- 4
Connect LibreOffice
With the LanguageTool extension installed in LibreOffice, its options include a "use remote server" setting, pointed at this same address for offline documents.
Further reading
- LanguageTool HTTP server docs
Official documentation for self-hosting, including the n-gram data setup.
- erikvl87/languagetool on Docker Hub
The widely-used community image referenced above.