Deploy LanguageTool VS Code

Grammar checks in VS Code via LTeX+ and your own server

Deploy LanguageTool VS Code

Just deployed

Deploy and Host self hosted LanguageTool VS Code (Self-Hosted Grammar Checking for VS Code) on Railway

This template runs one LanguageTool server on Railway.

About Hosting LanguageTool VS Code open-source software on Railway (self hosted self-hosted LanguageTool grammar checking in VS Code template)

This template runs one LanguageTool service on the erikvl87/languagetool:6.8 image, listening on port 8010 with a public Railway domain in front.

Why Deploy LanguageTool VS Code, the Grammarly alternative on Railway (Railway Free Trial)

Grammarly sends your draft to its cloud and bills you per seat, so self-hosting LanguageTool trades that for a server you control.

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 VS Code 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 VS Code self hosting

Railway gives you a LanguageTool endpoint without patching a server, and the options below don't. Point LTeX+ at whichever URL you end up with.

ProviderWhat You Get with RailwayWhat You Get with the Other Provider
DigitalOceanA service with the public domain already routed to port 8010.A Droplet you patch, firewall, and front with Docker and a proxy.
AWSOne Java service with a 1 GB heap default and per-IP limits set by variables.Full control of instances and networking, but you build TLS and scaling yourself.
HetznerA deploy in minutes, billed on usage, with the trial covering early testing.Cheap servers with plenty of RAM, but you own OS updates and Java tuning.

Choose a VPS if you want to tune the JVM and network yourself, and Railway if you want the endpoint running today.

Common Use Cases for hosted LanguageTool VS Code

  • Checking LaTeX thesis chapters in VS Code: You open a .tex file, and LTeX+ sends the text to your own Railway domain instead of a hosted checker, so the chapter never leaves infrastructure you control.
  • Proofreading Markdown docs and READMEs as you type: With ltex.enabled including "markdown", the editor flags grammar and spelling in your docs while you write, and the checks run against your server.
  • Building a shared team dictionary of product terms: You add terms like "adaptivity" under ltex.dictionary in the workspace settings, so jargon stops getting flagged across the team's drafts.
  • Silencing noisy rules in a technical blog draft: Code samples and quoted identifiers trip rules such as EN_QUOTES, so you list them under ltex.disabledRules for that workspace and keep the rest of the checks running.
  • Sharing one endpoint across a small team: Several people point their ltex.languageToolHttpServerUri at the same Railway service, so everyone gets consistent results from one server you run and control.

Dependencies for LanguageTool VS Code Docker hosted on Railway

This section covers what the Railway service needs and what your editor needs to reach it. You do not need a database, a message queue, or a separate worker, so the moving parts stay small.

Deployment Dependencies for Managed LanguageTool VS Code Service (Grammar Checker)

The service runs the image erikvl87/languagetool:6.8, pinned to the digest sha256:ef8fa12cbd485166c9ceeb7139d76d56d07707a624da6bb1fc1fbb5411750527.

Implementation Details for LanguageTool VS Code (Using LanguageTool official docker image)

The template ships 12 variables, all with defaults and no secrets. NGRAM_LANGUAGES defaults to none, which keeps n-grams off.

How does LanguageTool VS Code compare against other ways to check grammar in VS Code and LaTeX or Markdown drafts

LanguageTool VS Code vs Grammarly (Grammarly Alternative)

  • Where text goes: Grammarly checks text on its cloud servers. LTeX+ sends your draft to your Railway service instead, so the text stays on infrastructure you control.
  • Editor fit: Grammarly targets web and office apps. LTeX+ works inside VS Code on LaTeX and Markdown files.
  • Where Grammarly wins: Its tone suggestions for general prose are more polished, and there's no server to run.

LanguageTool VS Code vs Harper (Harper Alternative)

  • Runtime: Harper is an offline Rust checker that runs on your machine. This setup needs a running Railway service that LTeX+ calls over HTTP.
  • Rule depth: LanguageTool covers far more rules and languages, and you tune them through ltex.disabledRules and ltex.dictionary.
  • Where Harper wins: It needs no network or server, so it's simpler for fully offline checks.

LanguageTool VS Code vs Code Spell Checker (Code Spell Checker Alternative)

  • Scope: Code Spell Checker handles spelling in identifiers and comments. It doesn't check grammar or sentence structure in prose.
  • Prose checking: LTeX+ catches agreement and style errors in full sentences that a spell checker misses.
  • Where Code Spell Checker wins: It's the better fit for code-heavy files, and the two extensions can run side by side.

LanguageTool VS Code vs LanguageTool Premium (LanguageTool Premium Alternative)

  • Hosting: Premium is the paid hosted tier of the same checker. Here you run the open-source server yourself on Railway.
  • Privacy: Premium routes text through LanguageTool's hosted API. Self-hosting keeps drafts on your service, so leave ltex.languageToolOrg.apiKey unset.
  • Where Premium wins: It has larger hosted limits and no server to maintain.

How to use LanguageTool VS Code (the OSS grammar and style checker)?

Here's the first-day setup, from install to a working check. Most of the friction comes from the URI, so go slow on step 2.

  1. Install the LTeX+ extension for VS Code (vscode-ltex-plus).
  2. Set ltex.languageToolHttpServerUri to your Railway public domain root, with no path and no port.
  3. Set ltex.language to en-US.
  4. Confirm ltex.enabled includes latex and markdown.
  5. Check the server first: GET /v2/languages should return 200.
  6. Add project terms under ltex.dictionary and turn off noisy rules under ltex.disabledRules.
  7. Open a .md or .tex file and confirm matches appear.
{
  "ltex.languageToolHttpServerUri": "https://your-railway-domain.up.railway.app",
  "ltex.language": "en-US",
  "ltex.enabled": ["latex", "markdown"],
  "ltex.dictionary": { "en-US": ["adaptivity"] },
  "ltex.disabledRules": { "en-US": ["EN_QUOTES"] }
}

How to self host LanguageTool VS Code on other VPS Services (LanguageTool self hosting guide)

Running this LanguageTool server on a VPS works the same way it does on Railway: one Java service on the erikvl87/languagetool:6.8 image, listening on port 8010. Here is the short path.

Clone the Repository

Pull the template repo that holds the image config.

git clone https://github.com/onepush-dev/languagetool.git
cd languagetool

Install Dependencies

You only need Docker on the VPS. The image bundles Java and LanguageTool, so there is nothing else to install.

docker --version

Configure Environment Variables

Set the heap and request limits before you start the container. Keep the public URL in mind, because you will paste it into VS Code as ltex.languageToolHttpServerUri with no path and no port.

export Java_Xmx=1g
export langtool_requestLimit=120
export langtool_requestLimitPeriodInSeconds=60

Start the LanguageTool VS Code Application

Run the container on port 8010 and put a reverse proxy with TLS in front of it. Then check it from your machine with curl https://your-domain/v2/languages, which should return 200.

Railway handles the public domain, TLS, and restarts for you, so you skip the reverse proxy and firewall work described above.

Official Pricing of LanguageTool VS Code (LanguageTool pricing)

LanguageTool and the LTeX+ extension are both free and open source, so there is no license fee.

LanguageTool VS Code cloud vs self hosted comparison (Pricing, features, costs, and more)

Cloud checking is the fastest start: install LTeX+, keep the bundled checker, and you're done.

Monthly cost of self hosting LanguageTool VS Code on Railway

Railway bills by usage. For one Java service with a 1 GB heap at light use, expect roughly $5-15 per month, and more with n-grams or heavy traffic. The Railway $5 trial covers early testing.

System Requirements for Hosting LanguageTool VS Code on a VPS

Plan for a Java runtime with enough memory for your heap. Raise the heap only within the RAM you actually have, or the service will struggle under load.

Frequently Asked Questions (FAQs)

Do I need a server to use LTeX+?

No. The LTeX+ extension ships with a bundled checker, so basic checking works without any server.

Why does my Railway URL return no matches?

Check that ltex.languageToolHttpServerUri is the root domain with no path and no port, since LTeX+ appends /v2/check itself.

How do I add words to the dictionary?

Add them under ltex.dictionary, keyed by language code, for example {"en-US": ["adaptivity"]}. Use ltex.disabledRules to silence specific noisy rules.

Does my draft text stay private?

With a self-hosted server, text goes to your Railway instance rather than languagetool.org. Don't set ltex.languageToolOrg.apiKey unless you intend to use the hosted Premium API.

What limits apply to request size and rate?

The template defaults allow 120 checks per client IP every 60 seconds, and up to 100000 characters per check. Split very large files if they exceed that length.

Which language codes does the self-hosted server accept?

Use BCP-47 codes such as en-US.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
50
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51