Elasticsearch images for Crowi 2.0 with kuromoji / sudachi analyzers
5.6K
Elasticsearch with Japanese text-analysis plugins baked in, for self-hosting
the Crowi wiki's Elasticsearch search backend
(@crowi/plugin-search-elasticsearch).
This is a community-built, self-host-oriented redistribution. It is not an official Elastic product and is not endorsed by, affiliated with, or certified by Elasticsearch B.V. "Elasticsearch" is used descriptively (nominative use) to identify the bundled upstream software. The upstream
LICENSE.txt/NOTICE.txtare retained inside the image. This is not legal advice — operators are responsible for confirming license compliance for their use.
| Variant | Tag | Contents |
|---|---|---|
| kuromoji (default) | crowi/docker-elasticsearch:<es> | Elasticsearch + analysis-kuromoji (Elastic-distributed). Lightweight. |
| sudachi | crowi/docker-elasticsearch:<es>-sudachi | The above plus analysis-sudachi (WorksApplications) + the SudachiDict core dictionary (adds ~tens of MB). |
Both variants are published as multi-arch manifests (linux/amd64,
linux/arm64).
:<es> (kuromoji) and :<es>-sudachi — e.g. :9.4.1,
:9.4.1-sudachi. These never move once published.:9 (kuromoji, the default variant — no suffix; :9-kuromoji is
published as an alias) and :9-sudachi track the latest 9.x build of each
variant.# kuromoji (default)
docker pull crowi/docker-elasticsearch:9.4.1
docker pull crowi/docker-elasticsearch:9 # latest 9.x kuromoji
# sudachi (kuromoji + sudachi + core dictionary)
docker pull crowi/docker-elasticsearch:9.4.1-sudachi
docker pull crowi/docker-elasticsearch:9-sudachi # latest 9.x sudachi
analysis-sudachi must match the Elasticsearch patch version exactly.
With analysis-sudachi v3.6.0, the available ES 9.x patch builds are:
| Elasticsearch | analysis-sudachi |
|---|---|
| 9.0.8 | 3.6.0 |
| 9.1.10 | 3.6.0 |
| 9.2.8 | 3.6.0 |
| 9.3.4 | 3.6.0 |
| 9.4.1 (default) | 3.6.0 |
The kuromoji variant is not patch-constrained (the plugin is installed via
elasticsearch-plugin install analysis-kuromoji and tracks the base image),
but the published default tracks the same ES patch as the sudachi variant for
consistency.
Both Dockerfiles are parameterized so a build can be re-pinned without editing the file:
| Build arg | Used by | Default | Meaning |
|---|---|---|---|
ES_VERSION | both | 9.4.0 (kuromoji) / 9.4.1 (sudachi) | Base Elasticsearch version (patch-exact for sudachi). |
SUDACHI_PLUGIN_VERSION | sudachi | 3.6.0 | WorksApplications/elasticsearch-sudachi release tag. |
SUDACHIDICT_VERSION | sudachi | 20260428 | SudachiDict core release date. |
DICT_SHA256 | sudachi | (empty) | Optional SudachiDict zip checksum to verify the (HTTP) download. |
# kuromoji (context = repo root)
docker build -f elasticsearch.Dockerfile \
--build-arg ES_VERSION=9.4.1 \
-t crowi/docker-elasticsearch:9.4.1 .
# sudachi (context = ./elasticsearch)
docker build -f elasticsearch/Dockerfile.sudachi \
--build-arg ES_VERSION=9.4.1 \
--build-arg SUDACHI_PLUGIN_VERSION=3.6.0 \
--build-arg SUDACHIDICT_VERSION=20260428 \
-t crowi/docker-elasticsearch:9.4.1-sudachi ./elasticsearch
Images are published from CI by the docker-elasticsearch.yml workflow
(workflow_dispatch with es_version / sudachi_plugin_version /
dict_version / variant inputs, or an es-v<es> tag push). This workflow is
completely independent of the Crowi release.yml / docker.yml — ES images
are cut on their own cadence (ES upgrades, plugin/dictionary updates, ES
security patches).
The image aggregates each component's notices in
/usr/share/elasticsearch/CROWI-NOTICE.txt, and retains the upstream
Elasticsearch LICENSE.txt / NOTICE.txt.
See elasticsearch/NOTICE in the repository for the full text.
Content type
Image
Digest
sha256:54bddc3be…
Size
927.2 MB
Last updated
3 months ago
docker pull crowi/docker-elasticsearch:9-sudachi