Skip to content

lmenezes/cerebro

Repository files navigation

Cerebro

Docker Pulls build

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

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
#  - %s@domain.com => append "@domain.com" to username
#  - uid=%s,%s => usual case of OpenLDAP
LDAP_USER_TEMPLATE=%s@example.com

# User identifier that can perform searches
LDAP_BIND_DN=admin@example.com
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