
Deploy LanguageTool Extension
Point the LanguageTool browser add-on at your server
LanguageTool
Just deployed
Deploy and Host self hosted LanguageTool Extension (Self-Hosted Grammar Checker for Browser Extensions) on Railway
This template runs a self-hosted LanguageTool server for the official browser add-on.
About Hosting LanguageTool Extension open-source software on Railway (self hosted LanguageTool for the browser extension template)
This template runs the official LanguageTool 6.8 Docker image as one Java service, so the text your browser add-on checks stays on a server you control.
Railway handles the HTTPS certificate, restarts, and the container runtime. Safari needs HTTPS, and the Railway domain already provides it.
Why Deploy LanguageTool Extension, the Grammarly extension alternative on Railway (Railway Free Trial)
If you like the Grammarly extension's inline suggestions but don't want every draft going to a vendor's cloud, point the official LanguageTool add-on at your own server.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying LanguageTool Extension on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for LanguageTool Extension self hosting
Railway gives this LanguageTool server a public HTTPS domain ending in /v2, which the browser add-on needs.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | A public domain, health checks, and no server to patch | A Droplet where you install Java, set up HTTPS, and manage firewall rules |
| AWS | A running service with a public domain and no VPC to configure | Full control over EC2 or containers, but networking, TLS, and IAM are yours |
| Hetzner | A managed URL and restarts without touching the OS or Caddy | Cheap VMs where you install Docker, handle TLS, and keep it updated |
Choose Railway if you want the extension working today, and a VPS if you want to tune the Java heap yourself.
Common Use Cases for hosted LanguageTool Extension
- Grammar checks in webmail and docs without sending text to a vendor: Point the official LanguageTool add-on at your own server, and text in Gmail or a shared doc gets checked on infrastructure you control.
- A team-wide server for the add-on: One shared Railway service gives everyone the same rules and one place to tune request limits. Each person still sets the server URL in their own browser.
- Safari with HTTPS: Safari won't talk to plain HTTP, so you need the Railway public domain on HTTPS before you enter that address in the add-on.
- Adding n-grams for better checks: Set NGRAM_LANGUAGES and mount a volume at /ngrams for stronger confusion-rule detection. It's off by default because the data takes disk and memory.
- Using the same server from editors and CI: The /v2/check endpoint the browser add-on calls also works from a script or docs pipeline, so one deployment serves your browser, editor, and build checks.
Dependencies for LanguageTool Extension Docker hosted on Railway
This section covers what the Railway template needs to run the LanguageTool server that the official browser add-on talks to. Nothing here needs a database or a secret.
Deployment Dependencies for Managed LanguageTool Extension Service (Grammar Checker)
The template pulls the official image erikvl87/languagetool:6.8, pinned to its digest so every deploy runs the same build. There is no volume by default.
Implementation Details for LanguageTool Extension (Using LanguageTool official docker image)
The template exposes 12 variables, all with defaults and no secrets. Raise the heap only if your Railway plan has the RAM to back it.
How does LanguageTool Extension compare against other browser grammar checkers
LanguageTool Extension vs Grammarly extension (Grammarly Alternative)
- Where text goes: This add-on sends your draft to a LanguageTool server you run, so the text stays on infrastructure you control. Grammarly processes text on its own cloud.
- Setup cost: You pay for a small Railway service instead of a per-seat subscription, but you own uptime and heap sizing.
- Where Grammarly wins: Its tone suggestions and rewrites are more polished out of the box, and sign-in is a single step. This server gives you grammar and style rules, not AI rewrites.
LanguageTool Extension vs LanguageTool Premium (LanguageTool Subscription)
- Rule coverage: Premium adds advanced checks beyond the open-source rules, which a self-hosted server does not include.
- Privacy: Premium runs on LanguageTool's hosted service. Self-hosting runs the same open-source engine on your own domain.
- Where Premium wins: If you want the strongest checks without tuning, Premium is easier. Self-hosting means you manage heap, n-gram data, and rate limits.
LanguageTool Extension vs Harper (Local Grammar Checker)
- Architecture: Harper runs inside the browser or on the device, so nothing leaves your machine. This setup sends requests to a server you host.
- Speed: Harper has no network hop, so it feels instant. This server adds a round trip that you notice on long documents.
- Where Harper wins: For local-only checking with no server to run, Harper is simpler. Choose this server when you want LanguageTool's rules shared across a team.
LanguageTool Extension vs ProWritingAid (Writing Feedback Tool)
- Scope: ProWritingAid adds style, readability, and pacing reports. This server covers grammar and style rules through the LanguageTool engine, without long-form analytics.
- Hosting: ProWritingAid is a hosted service with accounts and plans. Here you deploy the engine yourself and point the official add-on at it.
- Where ProWritingAid wins: For deep manuscript reports it goes further. Use this server when you only need inline corrections in your browser.
How to use LanguageTool Extension (the OSS grammar and style checker)?
Follow these steps on your first day after the deploy finishes. Start by confirming the server answers before you touch the browser.
- Deploy the template and open the public domain Railway gives you. Then test the language list with the curl command below. You should get a JSON array of around 60 languages back.
- Install the official LanguageTool browser add-on from your browser's extension store.
- Open the add-on's settings through the cog icon.
- Go to Experimental settings. The exact labels can shift between versions, so look for the option that lets you point the add-on at a different server.
- Choose Other server and enter https://your-domain/v2, replacing your-domain with your Railway domain. The /v2 suffix matters.
- Save the settings, then type a sentence with a deliberate mistake into a text field to confirm the add-on flags it.
curl https://your-domain/v2/languages
How to self host LanguageTool Extension on other VPS Services (LanguageTool self hosting guide)
This guide runs the same LanguageTool image on your own VPS. The browser add-on only needs an HTTPS URL ending in /v2.
Clone the Repository
Grab the template repo and move into it.
git clone https://github.com/onepush-dev/languagetool.git
cd languagetool
Install Dependencies
You need Docker and a reverse proxy such as Caddy for TLS. Safari refuses plain HTTP.
docker pull erikvl87/languagetool:6.8
Configure Environment Variables
Set the heap and the per-IP limit before you start. Defaults are 256m to 1g heap and 120 checks per 60 seconds.
export Java_Xms=256m
export Java_Xmx=1g
export langtool_requestLimit=120
export langtool_requestLimitPeriodInSeconds=60
Start the LanguageTool Extension Application
Run the container, then confirm it answers before touching the browser.
docker run -d -p 8010:8010 --env-file .env erikvl87/languagetool:6.8
curl -d "language=en-US" -d "text=a simple test" https://your-domain/v2/check
Railway handles the public domain, TLS certificate, and restarts, so this manual path is only for other hosts.
Official Pricing of LanguageTool Extension (LanguageTool pricing)
LanguageTool itself is free and open source, so running this template costs you nothing in license fees.
LanguageTool Extension cloud vs self hosted comparison (Pricing, features, costs, and more)
The real choice here is where your text gets checked. Costs differ too, so here is what to expect on each side.
Monthly cost of self hosting LanguageTool Extension on Railway
Expect roughly $5 to $15 a month for one Java service with a 1 GB heap at light use. Turn on n-grams or get heavy traffic and the bill climbs past that range.
System Requirements for Hosting LanguageTool Extension on a VPS
Plan for enough RAM to hold the Java heap you set, since the template defaults to Java_Xms=256m and Java_Xmx=1g. Expect the server to listen on port 8010 behind that address.
Frequently Asked Questions (FAQs)
Does the browser add-on need a LanguageTool account to use my server?
No. Premium rules only apply if you point it at a Premium API, which this self-hosted setup does not use.
Does Safari work with this server?
Safari requires HTTPS, so put the server behind a reverse proxy with a valid certificate and use an address ending in /v2 as the Other server value.
Are there rate limits on my own server?
Yes. Set langtool_requestLimit to 0 if you want no limit.
Do I need n-grams for the checker to work?
No. N-grams are optional and improve detection of confusion rules, such as commonly mixed-up words.
Does my text leave my infrastructure?
Checks go to the server you configure, so the text stays on infrastructure you control.
Template Content
LanguageTool
erikvl87/languagetool:6.8