Nomploy Nomad Packs

← All packs

languagetool v0.1.0

Dev tools

LanguageTool — a self-hosted grammar, style and spell-checking server for 25+ languages, with browser extensions and editor integrations. Deployed as a single stateless host-networked Nomad service.

nomad-pack run languagetool --registry nomploy
…or one line (add registry + run)
curl -fsSL https://packs.nomploy.com/install.sh | sh -s -- languagetool

Needs nomad-pack on PATH. The script only adds the nomploy registry and runs this pack.

1 task http 8010 image erikvl87/languagetool:latest tracks :latest image bumped today
Variables 9
values.hcl

Save as values.hcl, edit, then run:

nomad-pack run languagetool -f values.hcl --registry nomploy
# The name of the Nomad job.
job_name = "languagetool"

# The Nomad namespace to deploy into.
namespace = "default"

# The datacenters to deploy to.
datacenters = ["*"]

# The LanguageTool container image. Pin a tag in production.
image = "erikvl87/languagetool:latest"

# Host port for the LanguageTool HTTP API. Fixed at 8010 inside the image.
port = 8010

# JVM initial heap size (Java_Xms).
java_xms = "256m"

# JVM maximum heap size (Java_Xmx). Keep this below the task memory limit.
java_xmx = "512m"

# Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []

# The task resources.
resources = {
    cpu    = 500
    memory = 768
  }
NameTypeDefaultDescription
job_name string
"languagetool"
The name of the Nomad job.
namespace string
"default"
The Nomad namespace to deploy into.
datacenters list
["*"]
The datacenters to deploy to.
image string
"erikvl87/languagetool:latest"
The LanguageTool container image. Pin a tag in production.
port number
8010
Host port for the LanguageTool HTTP API. Fixed at 8010 inside the image.
java_xms string
"256m"
JVM initial heap size (Java_Xms).
java_xmx string
"512m"
JVM maximum heap size (Java_Xmx). Keep this below the task memory limit.
constraints list
[]
Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
resources object
{
    cpu    = 500
    memory = 768
  }
The task resources.
Readme

languagetool

LanguageTool — a self-hosted grammar, style and spell checker for 25+ languages. Run your own API endpoint and point the browser extensions, mobile keyboards, and editor integrations (LibreOffice, Obsidian, Joplin, Nextcloud, …) at it, so your text never leaves your server.

Single stateless host-networked Nomad service (no volume). Exposes the LanguageTool HTTP API on /v2/check.

Deploy

nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run languagetool --registry=nomploy

Configure

Variable Default Description
port 8010 HTTP API port. Fixed at 8010 inside the image.
java_xms 256m JVM initial heap size (Java_Xms).
java_xmx 512m JVM maximum heap size (Java_Xmx). Keep below the task memory limit.
image erikvl87/languagetool:latest Container image. Pin a tag in production.
resources { cpu = 500, memory = 768 } Task resources. The JVM needs headroom above java_xmx.

Better suggestions (optional): mount an n-gram dataset at /ngrams and set langtool_languageModel=/ngrams to catch confused words (there/their). This needs several GB of disk — add the volume and env to the task if you want it. The base service is stateless and needs no storage.