Cerebro
cerebro is an open source(MIT License) elasticsearch web admin tool built using Scala, Play Framework, AngularJS and Bootstrap.
Requirements
cerebro needs Java 11 or newer to run.
Installation
- Download from https://github.com/lmenezes/cerebro/releases
- Extract files
- Run bin/cerebro(or bin/cerebro.bat if on Windows)
- Access on http://localhost:9000
Chocolatey (Windows)
You can install cerebro
using Chocolatey:
choco install cerebro-es
Package creates windows service cerebro
.
Access on http://localhost:9000
Docker
You can find the official docker images in the official docker hub repo.
Visit cerebro-docker for further information.
Configuration
HTTP server address and port
You can run cerebro listening on a different host and port(defaults to 0.0.0.0:9000):
bin/cerebro -Dhttp.port=1234 -Dhttp.address=127.0.0.1
LDAP config
LDAP can be configured using environment variables. If you typically run cerebro using docker, you can pass a file with all the env vars. The file would look like:
# Set it to ldap to activate ldap authorization
AUTH_TYPE=ldap
# Your ldap url
LDAP_URL=ldap://exammple.com:389
LDAP_BASE_DN=OU=users,DC=example,DC=com
# Usually method should be "simple" otherwise, set it to the SASL mechanisms
LDAP_METHOD=simple
# user-template executes a string.format() operation where
# username is passed in first, followed by base-dn. Some examples
# - %s => leave user untouched
# - %[email protected] => append "@domain.com" to username
# - uid=%s,%s => usual case of OpenLDAP
LDAP_USER_TEMPLATE=%[email protected]
# User identifier that can perform searches
[email protected]
LDAP_BIND_PWD=adminpass
# Group membership settings (optional)
# If left unset LDAP_BASE_DN will be used
# LDAP_GROUP_BASE_DN=OU=users,DC=example,DC=com
# Attribute that represent the user, for example uid or mail
# LDAP_USER_ATTR=mail
# If left unset LDAP_USER_TEMPLATE will be used
# LDAP_USER_ATTR_TEMPLATE=%s
# Filter that tests membership of the group. If this property is empty then there is no group membership check
# AD example => memberOf=CN=mygroup,ou=ouofthegroup,DC=domain,DC=com
# OpenLDAP example => CN=mygroup
# LDAP_GROUP=memberOf=memberOf=CN=mygroup,ou=ouofthegroup,DC=domain,DC=com
You can the pass this file as argument using:
docker run -p 9000:9000 --env-file env-ldap lmenezes/cerebro
There are some examples of configuration in the examples folder.
Other settings
Other settings are exposed through the conf/application.conf file found on the application directory.
It is also possible to use an alternate configuration file defined on a different location:
bin/cerebro -Dconfig.file=/some/other/dir/alternate.conf