Elasticsearch frontend for your browser https://elasticvue.com
Contents
Elasticvue is a frontend for elasticsearch allowing you to search and filter your clusters data right in your browser.
It works with every elasticsearch version supported by the official elasticsearch javascript client:
- 7.X
- 6.X
Older versions might or might not work, elasticsearc-js will fallback to 6.6 if an unsupported version is used.
- Cluster overview
- Indices overview, detailed view and index creation
- Searching and filtering documents
- Manually running any query against your cluster
- Snapshot + repository management
- Utilities, e.g. deleting all indices
You have enable CORS to allow connection to your elasticsearch cluster, even if you run the app locally.
Find your elasticsearch configuration (for example /etc/elasticsearch/elasticsearch.yml) and add the following lines:
# enable CORS
http.cors.enabled: true
# Then set the allowed origins based on how you run elasticvue. Chose only one:
# for docker / running locally
http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/
# online version
http.cors.allow-origin: /https?:\/\/app.elasticvue.com/
# chrome extension
http.cors.allow-origin: /chrome-extension:\/\/[a-z]+/
# and if your cluster uses authorization you also have to add:
http.cors.allow-headers : X-Requested-With,Content-Type,Content-Length,AuthorizationYou can also use a regex to enable all sources at once:
http.cors.allow-origin: /(https?:\/\/localhost(:[0-9]+)?)|(chrome-extension:\/\/[a-z]+)|(https?:\/\/app.elasticvue.com)/After configuration restart your cluster and you should be able to connect.
You can use one of the following ways to run elasticvue:
Online version
Visit http://app.elasticvue.com or https://app.elasticvue.com.
Docker
Use the existing image:
docker run -p 8080:8080 -d cars10/elasticvueImage at Docker Hub (~50mb compressed)
Or build the image locally:
- Checkout the repo
git clone https://github.com/cars10/elasticvue.git - Open the folder
cd elasticvue - Build
docker build -t elasticvue . - Run
docker run -p 8080:8080 elasticvue
Chrome extension
Install the extension from the chrome webstore. Start elasticvue by clicking on the icon in your toolbar.
Run locally
- Checkout the repo
git clone https://github.com/cars10/elasticvue.git - Open the folder
cd elasticvue - Install dependencies
yarn install - Run a production server via
yarn prodor dev serveryarn serve
Development is done on chrome. Firefox, safari and edge should work but are mostly untested.
| IE | Edge | Safari | Firefox | Chrome |
|---|---|---|---|---|
| None | 16+ | 11+ | 50+ | 50+ |
- All table filters use fuzzy matching. You can also specify a single column to search in. Examples:
myquery # search in all columns for "myQuery"
index:myQuery # only search the "index" column for "myQuery"- All select inputs are filterable and use fuzzy matching
See the Wiki. Comparing to other frontends
Setup and running
# clone
git clone https://github.com/cars10/elasticvue.git
cd elasticvue
# install dependencies
yarn install
# serve with hot reload at localhost:8080
yarn serve
# tests
yarn test:unit # add --watch to watch test files
# for e2e tests you need a running elasticsearch server on port 9123
yarn test:e2e # add --headless for headless modeOther commands
# Linting
yarn lint
# minimized build for production
yarn build
# create bundle size report at dist/report.html, dist/legacy-report.html
yarn build --reportBuilding the chrome extension
yarn build_chrome_extension Current TODOs, more ore less ordered by importance.
- change cluster settings
- data import/export
- save all settings in local storage? add settings overview page?
- firefox addon?
- add more specs
- refactor vuex state to use actions?
- performance - use web workers? wasm?
requestIdleCallback?
MIT
