h1. elasticsearch-head
h2. A web front end for an Elasticsearch cluster
h3. "http://mobz.github.io/elasticsearch-head":http://mobz.github.io/elasticsearch-head
h2. Running
There are multiple ways of running elasticsearch-head.
h4. Running with built in server
@git clone git://github.com/mobz/elasticsearch-head.git@
@cd elasticsearch-head@
@npm install@
@npm run start@
This will start a local webserver running on port 9100 serving elasticsearch-head
h4. Running with docker
for Elasticsearch 5.x: @docker run -p 9100:9100 mobz/elasticsearch-head:5@
for Elasticsearch 2.x: @docker run -p 9100:9100 mobz/elasticsearch-head:2@
for Elasticsearch 1.x: @docker run -p 9100:9100 mobz/elasticsearch-head:1@
for fans of alpine there is @mobz/elasticsearch-head:5-alpine@
h4. Running as a Chrome extension
h4. Running as a plugin of Elasticsearch (deprecated)
for Elasticsearch 5.x, 6.x, and 7.x: site plugins are not supported. Run "as a standalone server":#running-with-built-in-server
for Elasticsearch 2.x: @sudo elasticsearch/bin/plugin install mobz/elasticsearch-head@
for Elasticsearch 1.x: @sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/1.x@
for Elasticsearch 0.x: @sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/0.9@
This will automatically download the appropriate version of elasticsearch-head from github and run it as a plugin within the elasticsearch cluster. In this mode elasticsearch-head automatically connects to the node that is running it
h4. Running with the local proxy
This is an experimental feature which creates a local proxy for many remote elasticsearch clusters
At the moment it only works with @grunt server@ running on http://localhost:9100
h4. Alternatives
h3. Connecting to elasticsearch
By default elasticsearch exposes a http rest API on port 9200 which elasticsearch-head connects to.
h4. Enable CORS in elasticsearch
When not running as a Chrome extension or as a plugin of elasticsearch (which is not even possible from version 5), you must enable "CORS":https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html in elasticsearch, or else your browser will reject elasticsearch-head's requests due to violation of the same-origin policy.
In elasticsearch configuration;
h4. Basic Authentication
elasticsearch-head will add basic auth headers to each request if you pass in the "correct url parameters":#url-parameters You will also need to add @http.cors.allow-headers: Authorization@ to the elasticsearch configuration
h4. x-pack
elasticsearch x-pack requires basic authentication and CORS as described above. Make sure you have the correct CORS setup and then open es-head with a url like "http://localhost:9100/?auth_user=elastic&auth_password=changeme"
h4. URL Parameters
Parameters may be appended to the url to set an initial state eg. @head/index.html?base_uri=http://node-01.example.com:9200@
h4. Contributing
To contribute to elasticsearch-head you will need the following developer tools
Then
Changes to both _site and src directories must be committed, to allow people to run elasticsearch-head without running dev tools and follow existing dev patterns, such as indenting with tabs.
h5. Contributing an Internationalisation
To contribute an internationalisation
!http://mobz.github.com/elasticsearch-head/screenshots/clusterOverview.png(ClusterOverview Screenshot)!