Overview
Grammar check round trip
A POST to /v2/check through the authenticated nginx gate, with the JSON response flagging a deliberate grammar error and returning suggested replacements, and reporting LanguageTool version 6.6.
Grammar check round trip
Supported languages and services
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
A Self-Hosted Grammar and Style Checking API, Ready on First Boot
LanguageTool is an open source (LGPL-2.1 core) multilingual grammar, style and spell checker supporting over 25 languages. This image runs the LanguageTool HTTP server as a self-hosted REST API entirely inside your own VPC, so your documents never leave your account. It is delivered fully installed on OpenJDK 17 with a dedicated service account, a hardened systemd unit and an nginx front door, so you can run your first grammar check within minutes of launch rather than working through a manual Java install.
Who This Is For
Product and platform teams who need a private grammar and style API to power editors, CMS integrations or content pipelines without sending text to a third-party cloud service; privacy-conscious and regulated organisations who must keep proofreading in-house; and developers who want a real LanguageTool endpoint to develop against.
What Is Installed
- LanguageTool, the official standalone distribution, SHA-512 verified against the pinned upstream checksum
- OpenJDK 17 (headless) as the runtime
- nginx as the only public listener, proxying the LanguageTool server behind a per-instance HTTP Basic Auth gate, with an open /healthz endpoint for load-balancer probes
- A dedicated unprivileged languagetool service account and a systemd unit that starts the server on boot
- The base language models bundled inside the LanguageTool jars, so grammar checks return results immediately
What Is Not Included
This image ships the open source LanguageTool core only. It does not include the LanguageTool premium or paid features, the hosted LanguageTool cloud API, or the optional multi-gigabyte n-gram datasets. The n-gram data can be added later on your own storage; the user guide explains how.
Secure By Default
Unlike a raw open source deployment where the check endpoint is exposed without authentication, this image ships fail-closed:
- The LanguageTool server binds to the loopback interface only and is never reachable from the network
- nginx on port 80 is the single public listener and gates the whole API behind HTTP Basic Auth
- A one-shot first-boot service generates a unique Basic Auth password on every instance, applies it as a bcrypt .htpasswd entry, and proves the gate with a real grammar-check round trip before the instance is marked ready
- The shipped .htpasswd is empty, so the API fails closed (every request returns 401) until the per-instance credential is generated
- Credentials are written to a root-only file. No shared secret and no TLS private key are baked into the image
Network Model
The recommended security group opens port 22 for SSH and port 80 for the authenticated API. Restrict the port-80 source range to your own network, and terminate TLS at an upstream load balancer or by adding a certificate to the nginx server block, before exposing the API to the internet. The user guide covers both approaches.
Endpoints
- POST /v2/check performs a grammar, style and spell check on the supplied text and returns JSON, with each issue and its suggested replacements
- GET /v2/languages lists the supported languages
- GET /healthz is an unauthenticated health endpoint for load-balancer and probe checks
Getting Started
- Launch the image on an m5.large instance or larger, with port 22 open to your management network and port 80 restricted to the clients that will call the API
- Connect over SSH as the default login user for your variant (the user guide lists it)
- Retrieve the generated Basic Auth password with sudo cat /root/languagetool-credentials.txt
- Send a check request with curl, supplying the admin user and the generated password, and confirm the JSON flags a deliberate error
- Point your editor, CMS or content pipeline at the API and restrict the security group to those clients
24/7 cloudimg Support
Every deployment is backed by cloudimg engineers available around the clock by email and live chat. Support covers deployment and sizing guidance, tuning the JVM heap and per-request limits, configuring the nginx front door, TLS termination and source restriction, rotating the Basic Auth credential, adding the optional n-gram datasets, and LanguageTool upgrades and troubleshooting. Critical issues receive a one-hour average response time.
Evaluation
This image uses standard AWS pay-as-you-go infrastructure billing. Launch an instance to evaluate the API against your own text and integrations, and terminate at any time.
LanguageTool is a trademark of LanguageTooler GmbH. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
Highlights
- Minutes to first grammar check instead of hours of manual setup. LanguageTool is installed from the official distribution on OpenJDK 17 with a systemd unit that starts it on boot. The base language models for over 25 languages are bundled, so a POST to /v2/check returns flagged issues and suggested replacements immediately after launch - entirely inside your own VPC, with no text ever sent to a third-party service.
- Fail-closed security that competing self-hosted deployments lack. The LanguageTool server binds to loopback only and is fronted by nginx gating the entire API behind HTTP Basic Auth. A unique password is generated on every first boot, applied as a bcrypt .htpasswd entry, and proven with a real grammar-check round trip. The shipped .htpasswd is empty so the API returns 401 until the per-instance credential exists - no shared secret or TLS key is baked into the image.
- 24/7 engineer support so you never troubleshoot alone - unlike raw open source self-hosting with zero vendor backing. cloudimg engineers assist by email and live chat with a one-hour average response for critical issues. Scope covers deployment sizing, JVM heap and per-request tuning, the nginx front door, TLS termination, source restriction, Basic Auth credential rotation, adding optional n-gram datasets, and LanguageTool upgrades.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
- ...
Dimension | Description | Cost/hour |
|---|---|---|
m5.large Recommended | m5.large | $0.08 |
t2.micro | t2.micro instance type | $0.04 |
t3.micro | t3.micro instance type | $0.04 |
c5a.12xlarge | c5a.12xlarge instance type | $0.24 |
c5a.16xlarge | c5a.16xlarge instance type | $0.24 |
c5a.24xlarge | c5a.24xlarge instance type | $0.24 |
c5a.2xlarge | c5a.2xlarge instance type | $0.24 |
c5a.4xlarge | c5a.4xlarge instance type | $0.24 |
c5a.8xlarge | c5a.8xlarge instance type | $0.24 |
c5a.large | c5a.large instance type | $0.08 |
Vendor refund policy
Refunds available on request.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release of the self-hosted LanguageTool 6.6 grammar, style and spell-check REST API.
Additional details
Usage instructions
Connect over SSH on port 22 as the default login user for your operating system variant (the user guide lists it per variant; on Ubuntu it is 'ubuntu'). Retrieve the generated Basic Auth credentials with: sudo cat /root/languagetool-credentials.txt. The LanguageTool server is bound to 127.0.0.1:8081 (loopback only); nginx on port 80 is the single public listener and gates the API behind HTTP Basic Auth (user admin). Run a grammar check from the instance or from a client that can reach port 80: curl -u admin:'<password-from-the-credentials-file>' --data-urlencode 'text=This are a test' --data-urlencode 'language=en-US' http://<instance-host>/v2/check - the JSON matches array flags the deliberate error and suggests replacements. List languages: curl -u admin:'<password>' http://<instance-host>/v2/languages. The open health endpoint needs no auth: curl http://<instance-host>/healthz. The service is managed with systemctl (languagetool, nginx). Do not expose port 80 to the internet without restricting the source range and terminating TLS - see the user guide.
Resources
Vendor resources
Support
Vendor support
cloudimg provides 24/7 technical support for this product by email and live chat.
Support Channels:
- Email: support@cloudimg.co.uk
- Live chat: available around the clock
Response Times:
- Critical issues: one-hour average response time
Scope of Support: Our engineers assist with deployment and sizing guidance, JVM heap and per-request tuning, configuring the nginx front door, TLS termination and source restriction, rotating the Basic Auth credential, adding the optional n-gram datasets for false-positive reduction, LanguageTool upgrades, and general troubleshooting.
Pre-Purchase Guidance: Not sure which instance size fits your workload? Contact support@cloudimg.co.uk before purchase for a sizing recommendation based on your expected request volume and concurrency.
Billing and Refunds: Subscription billing and refunds are handled through AWS Marketplace. For any product issue, contact support@cloudimg.co.uk and our engineers will work with you on a resolution.
All support interactions are handled directly by cloudimg engineers with hands-on LanguageTool operational experience.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.