languagetool

languagetool

Docker app from ArieDed's Repository

Overview

LanguageTool is an Open Source proofreading software for English, French, German, Polish, Russian, and more than 20 other languages. It finds many errors that a simple spell checker cannot detect. LanguageTool can make use of large n-gram data sets to detect errors with words that are often confused. To add the ngram data to the docker, download the languages you want from here: https://languagetool.org/download/ngram-data/, move it to your server and link the location in the container path /ngrams. By default, this is set to the appdata folder. More information on ngram data can be found here: https://dev.languagetool.org/finding-errors-using-n-gram-data

LanguageTool

LanguageTool is open-source proofreading software for English, Spanish, French, German, Portuguese, Polish, Dutch, and more than 20 other languages. It finds many errors that a simple spell checker cannot detect.

For more information, please see our homepage, at languagetool.org, this README, and CHANGES.

The LanguageTool core (this repo) is freely available under the LGPL 2.1 or later.

Docker

Try one of the following projects for a community-contributed Docker file:

github.com hub.docker.com/r
meyayl/docker-languagetool meyay/languagetool
Erikvl87/docker-languagetool erikvl87/languagetool
silvio/docker-languagetool silviof/docker-languagetool

Contributions

The development overview describes how you can contribute error detection rules.

For more technical details, see our dev pages.

Scripted installation and building

To install or build using a script, simply type:

#!/usr/bin/env sh
curl -L https://raw.githubusercontent.com/languagetool-org/languagetool/master/install.sh | sudo bash $options

If you wish to have more options, download the install.sh script. Usage options follow:

sudo bash install.sh <options>

Usage: install.sh <option> <package>
Options:
   -h --help                   Show help
   -b --build                  Builds packages from the bleeding edge development copy of LanguageTool
   -c --command <command>      Specifies post-installation command to run (default gui when screen is detected)
   -q --quiet                  Shut up LanguageTool installer! Only tell me important stuff!
   -t --text <file>            Specifies what text to be spellchecked by LanguageTool command line (default spellcheck.txt)
   -d --depth <value>          Specifies the depth to clone when building LanguageTool yourself (default 1).
   -p --package <package>      Specifies package to install when building (default all)
   -o --override <OS>          Override automatic OS detection with <OS>
   -a --accept                 Accept the oracle license at http://java.com/license. Only run this if you have seen the license and agree to its terms!
   -r --remove <all/partial>   Removes LanguageTool install. <all> uninstalls the dependencies that were auto-installed. (default partial)

Packages(only if -b is specified):
   standalone                  Installs standalone package
   wikipedia                   Installs Wikipedia package
   office-extension            Installs the LibreOffice/OpenOffice extension package

Commands:
   GUI                         Runs GUI version of LanguageTool
   commandline                 Runs command line version of LanguageTool
   server                      Runs server version of LanguageTool

Alternate way to build from source

Before start: you will need to clone from GitHub and install Java 17 and Apache Maven.

Warning: a complete clone requires downloading more than 500 MiB and needs more than 1 500 MiB on disk. This can be reduced, if you only need the last few revisions of the master branch by creating a shallow clone:

#!/usr/bin/env sh
git clone --depth 5 https://github.com/languagetool-org/languagetool.git

A shallow clone downloads less than 60 MiB, and needs less than 200 MiB on disk.

In the root project folder, run:

#!/usr/bin/env sh
mvn clean test

(Sometimes, you can skip Maven step for repeated builds.)

#!/usr/bin/env sh
./build.sh languagetool-standalone package -DskipTests

Test the result in languagetool-standalone/target/.

#!/usr/bin/env sh
./build.sh languagetool-wikipedia package -DskipTests

Test the result in languagetool-wikipedia/target.

Now, you can use the bleeding edge development copy of LanguageTool *.jar files, be aware that it might contain regressions.

How to run under Mac M1 or M2

  1. Install Brew for Rosetta:

    #!/usr/bin/env sh
    arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    
  2. Install OpenJDK for Rosetta:

    #!/usr/bin/env sh
    arch -x86_64 brew install openjdk
    
  3. Install Maven for Rosetta:

    #!/usr/bin/env sh
    arch -x86_64 brew install maven
    
  4. Now, run the build scripts.

License

Unless otherwise noted, this software – the LanguageTool core – is distributed under the LGPL; see COPYING.txt.

Install Languagetool on Unraid in a few clicks.

Find Languagetool in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Languagetool Review the template variables and paths Click Install

Download Statistics

5,327,192
Total Downloads
109,651
This Month
79,653
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
erikvl87/languagetool
Last Updated2026-06-15
First Seen2021-01-15

Runtime arguments

Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart unless-stopped

Template configuration

Host Port 1Porttcp

Container Port: 8010

Target
8010
Value
8010
Host Path 1Pathrw

Container Path: /ngrams

Target
/ngrams
Value
/mnt/user/appdata/languagetool
langtool ngramsVariable

Container Variable: langtool_languageModel

Target
langtool_languageModel
Value
/ngrams
Java heap size MinVariable

Container Variable: Java_Xms

Target
Java_Xms
Default
256m
Value
256m
Java heap size MaxVariable

Container Variable: Java_Xmx

Target
Java_Xmx
Default
512m
Value
512m