explaingit

lmenezes/cerebro

5,617JavaScriptAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

A browser-based administration dashboard for Elasticsearch clusters that lets you manage indices, shards, and settings through a visual interface instead of raw API calls, with optional LDAP authentication.

Mindmap

mindmap
  root((Cerebro))
    What it does
      Elasticsearch admin UI
      Browser-based dashboard
      Cluster management
    Tech Stack
      Scala
      Play Framework
      AngularJS
      Java 11 plus
    Deployment
      Download and run script
      Docker Hub image
      Windows Chocolatey
    Security
      LDAP authentication
      Environment variables
    Config
      application.conf file
      Port and address flags
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Browse and manage Elasticsearch cluster indices, shards, and health through a web browser instead of writing curl commands.

USE CASE 2

Run Cerebro as a Docker container in front of your Elasticsearch cluster for quick visual administration.

USE CASE 3

Lock down Cerebro with LDAP authentication so only authorized team members can access the cluster dashboard.

USE CASE 4

Configure Cerebro to connect to multiple Elasticsearch clusters from a single interface.

Tech stack

ScalaPlay FrameworkAngularJSBootstrapJavaDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Java 11 or newer, Docker is the easiest deployment path, LDAP auth requires environment variables to be configured correctly before startup.

Free to use for any purpose, including commercially, as long as you keep the copyright notice.

In plain English

Cerebro is a web-based administration interface for Elasticsearch, an open source search and analytics engine used to store and query large volumes of data. Elasticsearch provides its own APIs but no built-in graphical dashboard for day-to-day management. Cerebro fills that gap by giving administrators a browser-based interface for working with their Elasticsearch clusters. It is released under the MIT license. The tool is built using Scala on the server side, with the Play Framework for the web application layer, AngularJS for the browser interface, and Bootstrap for styling. It requires Java 11 or newer to run. Once started, it is accessible at http://localhost:9000 by default, though both the port and the network address can be changed through command-line flags. Cerebro can be installed in several ways. The simplest is to download a release archive, extract it, and run the startup script included for Linux and macOS or a .bat file for Windows. On Windows, a Chocolatey package is also available that installs it as a Windows service. Docker images are published to Docker Hub for users who prefer containers. For teams that need access control, Cerebro supports LDAP authentication. The LDAP settings are configured through environment variables, covering the server URL, base directory path, user template format, and optional group membership filtering. This is particularly useful when running Cerebro inside Docker, where environment variables can be passed in from a file. Additional settings, such as database configuration and other application-level options, live in a configuration file called conf/application.conf inside the application directory. An alternate configuration file path can be specified at startup using a system property flag.

Copy-paste prompts

Prompt 1
I have an Elasticsearch cluster running on localhost:9200. Show me the Docker run command to start Cerebro pointing at it, including the env variable settings to enable LDAP authentication against my Active Directory.
Prompt 2
Give me the conf/application.conf entries to configure Cerebro to allow connections to two different Elasticsearch clusters and change the default port to 9001.
Prompt 3
Walk me through setting up Cerebro as a Windows service using Chocolatey, including how to configure the port and bind address.
Open on GitHub → Explain another repo

← lmenezes on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.