Self-managed app search docker 7.4.0, -e worker.threads do not work

I am running the app search docker and trying to change the worker pool but it nothing happens when I set -e worker.threads=8. When I look at port 3003 is the worker count still 4.

docker run -ti -p 3003:3003 -p 3002:3002 -e elasticsearch.host=<host> -e elasticsearch.password=<password> -e elasticsearch.username=<username> -e worker.threads=8 docker.elastic.co/app-search/app-search:7.4.0

Thank you for reporting this issue.
The worker.threads option cannot be configured this way for the docker image. We plan to fix it in the next patch release.
In the meantime, the only way to configure worker.threads is to build a new docker image with a custom app-search.yml.

Example, for app-search.yml:

allow_es_settings_modification: true
app_search.listen_host: 0.0.0.0
elasticsearch.host: ${elasticsearch.host:"http://elasticsearch:9200"}
elasticsearch.username: ${elasticsearch.username:elastic}
elasticsearch.password: ${elasticsearch.password:changeme}
worker.threads: ${worker.threads:4}

If other options need to be passed with -e, they will need to be included in app-search.yml.
In the same directory as app-search.yml, add a Dockerfile:

FROM docker.elastic.co/app-search/app-search:7.4.0
COPY app-search.yml /usr/share/app-search/config/app-search.yml

Build the docker image named app-search-test:

docker build -t app-search-test .

Finally, run the container with:

docker run -ti -p 3003:3003 -p 3002:3002 -e elasticsearch.host=<host> -e elasticsearch.password=<password> -e elasticsearch.username=<username> -e worker.threads=8 app-search-test
1 Like