January 15, 20215 yr Overview: Support thread for the languagetool docker template on Community Applications. Dockerhub: https://hub.docker.com/r/erikvl87/languagetool Documentation: https://dev.languagetool.org/ Repository: https://github.com/languagetool-org/languagetool This is the support thread for the languagetool docker template that can be found on Community Applications. Plugins for browsers, Microsoft Word and Google Docs can be found on the website of languagetool: https://languagetool.org/ 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. Installation To install the container, find it in the Community Applications on your Unraid server and click to install from there. Check if the port 8010 is still free on your server and change if not. It is recommended to use ngrams data to improve the error checking. To use this data, download your language packs from this link: https://dev.languagetool.org/finding-errors-using-n-gram-data and move it on your Unraid server. Since it is recommended to put the data on a faster storage medium such as an SSD, the path is mapped to the appdata folder. In the folder you choose, move the data in its own directory named after the language. So en for English, fr for French, de for German and so on. So in the case of using the appdata directory with the folder named languagtool, the data for english will be mapped to /mnt/user/appdata/languagetool/en and the container path /ngrams in the template should be /mnt/user/appdata/languagetool. You can add multiple languages to the directory. Usage An example curl request is: curl --data "language=en-US&text=a simple test" http://localhost:8010/v2/check It is recommended to use your own reverse proxy to make the container available outside your own network over https and use the plugins available on https://languagetool.org/ for browsers. For the plugin settings choose Other Server and set the url to https://DNS.NAME.COM/v2 where you change DNS.NAME.COM with the url you picked to reverse proxy your container. Feel free to ask any questions or mention problems you're facing with the container in this thread. Edited January 16, 20215 yr by ArieDed
July 24, 20214 yr Thanks for the template! This container doesn't shut down gracefully, so it will always time out when Unraid tries to shut it down (with ´docker stop -t xx´, where 'xx' is the Docker stop timeout you've set), e.g., when backing up appdata. If you add '--init' under 'Extra Parameters' it will work as expected. Also, is there no way to save/sync your personal dictionary when using the self-hosted version? Edited July 24, 20214 yr by KnifeFed
August 11, 20214 yr Thanks for the template. Is there any way to use authentication with the self-hostet version? Thanks in advance for any hint
August 28, 20214 yr On 8/11/2021 at 8:10 PM, laest said: Thanks for the template. Is there any way to use authentication with the self-hostet version? Thanks in advance for any hint Good question, as now the service is open for everyone. Could you solve this problem? Maybe with authelia, but then the Add-Ins can't connect.
September 2, 20214 yr Started tinkering with this. I'm familiar with Nginx Proxy Manager and have a purchased domain. However, no matter what I do it will fail to connect via the FireFox Plugin. Any ideas? EDIT: I think I got it working. Apparently the "v2" after your domain name is VERY important. Edited September 2, 20214 yr by CoZ Think I fixed it?
October 20, 20232 yr Hi, I'm trying to get this to work but I can't figure it out. I created the directory "languagetool" on "/mnt/cache/user/" and extracted the english and german ngram zip archives into that. So I have "/mnt/cache/user/languagetool/en" and "/mnt/cache/user/languagetool/de". In the template there are "Host Path 1" and "langtool ngrams" which I both set to "/mnt/cache/user/languagetool/". The container is not starting correctly. I can't look into the logs because it's rapidly restarting. I tried changing "Host Path 1" to "/mnt/cache/user/languagetool/en" but no change. Can anyone help me with this? Edit: Got it working. I had to leave "langtool ngrams" on "/ngrams" and set "Host Path 1" to "/mnt/cache/user/languagetool". Edited October 20, 20232 yr by MatrixRetoastet
April 5, 20242 yr Hi, because there's no login protection at all, I'd like to run this in a subdirectory like example.com/languagetool/v2, but then it complains like Error: You have '/v2/' in your path, but not at the root. Try an URL like 'http://server/v2/...' There's a way to run it anyway? I can't give it a dedicated domain or subdomain, that's too prone to abuse from bots and such. Or they designed it to practically force everyone to use their own server?
April 5, 20242 yr Author 24 minutes ago, PixelPrint said: Hi, because there's no login protection at all, I'd like to run this in a subdirectory like example.com/languagetool/v2, but then it complains like Error: You have '/v2/' in your path, but not at the root. Try an URL like 'http://server/v2/...' There's a way to run it anyway? I can't give it a dedicated domain or subdomain, that's too prone to abuse from bots and such. Or they designed it to practically force everyone to use their own server? Hey, Could you show the configuration file you're using for the subdirectory in NGINX? One way to still add some security would be to have the languagetool domain behind Authelia, with single sign on enabled.
April 5, 20242 yr I'm just using cloudflare tunnel on my domain + I added it in the "zero trust" panel, network/routes
April 5, 20242 yr Author I'm not very versed in NginxProxyManager, but would adding v2 to the url section of the service help? So the URL section would become "languagetool:8010/v2" and then omit the v2 when setting up the Languagetool plugin. I'm assuming the v2 error shows up when setting up the browser plugin?
April 6, 20242 yr no, the /v2 is the service endpoint for the API if in the browser extension i just put [IP]:8010 it gives an error until i place /v2 at the end
July 31, 2025Jul 31 Is it possible to point the LanguageTools Windows desktop client to my container or is this only available for the web extension? Edited July 31, 2025Jul 31 by Darth Daddy
August 1, 2025Aug 1 Author Just installed the desktop client myself and it doesn't seem to have to option for a self-hosted URL, sorry. I have sent them feedback through the app to add the feature, hopefully they'll fix it soon.
January 25Jan 25 I have the feeling that this will become a lot more popular within the coming weeks:https://languagetool.org/webextension/premium-announcementWe have made the difficult decision to limit the use of LanguageTool’s browser extension to Premium users only. The rise of generative AI has made it more challenging to sustainably monetize our offering. A majority of users use our products for free, and the relatively small percentage of Premium subscribers is all that is subsidizing our continuously increasing server costs. To improve our Premium experience and to sustain our business model, we’ll be making the LanguageTool browser extension available exclusively for paying customers.Self-hosting will soon be the only way to continue using LanguageTool for free.Luckily, this was a quick and mostly pain-free setup.@ArieDed The Java heap size Max default was set too low, and the server would crash with a memory error when making requests for German.Has anyone found a good solution to make this accessible via reverse proxy and with authentication?
January 26Jan 26 Well the self hosted version isn't usable also, because it has no login protection at all, everyone can use it unlimited....PS: I find hilarious that they don't use their tool to proofread their stuff...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.