This guide describes the `echo-elastic` stack part which serves as the main key/value and queue to the stack.


echo-elastic is built on top of Elasticsearch and uses a configured and packaged version of its object code.


In order to run echo-elastic run the following in a console:

$ docker run \
    --name echo-elastic \
    -p 9200:9200 \

Following the successful execution of the above, you should have a running echo-elastic serving requests at http://localhost:9200.


Like all other Echo stack parts, echo-elastic has a rich logging interface.

$ docker logs -f --tail 200 echo-elastic

This will printout the runtime’s logs for your inspection, any warning or error will be clearly indicated in the log.

In case you wish to access the container’s runtime, you can docker exec into the container.

$ docker exec -it echo-elastic bash

This will open a shell within the container and allow you to inspect it further.

Security certificates

echo-elastic cluster

Master nodes

Data nodes

Coordinator nodes


echo-elastic configuration is based on simple configuration file shared via a docker volume:

$ docker run \
    --name echo-elastic \
    -p 9200:9200 \
    -v /opt/joola/echo/config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \

Here's a short summary of main differences between echo-elastic configuration and the main Elasticsearch branch:

daemonize no
pidfile /var/run/redis/
port 6379
maxmemory 4194304000
maxmemory-policy noeviction