Get started
Installation
Brokerium is one server with a PostgreSQL database. Agents are optional and only needed for node lifecycle on virtual machines.
Requirements
- A PostgreSQL database; the examples below use PostgreSQL 18.
- Network access from the server to the brokers (and, optionally, the controllers) of the clusters you manage.
- Apache Kafka in KRaft mode. Each release is tested against Kafka 4.2 and 4.3 in the lab. Adding and removing controllers needs a dynamic quorum; Brokerium can migrate a static one.
Docker
docker network create brokerium
docker run -d --name brokerium-db --network brokerium -e POSTGRES_USER=brokerium \
-e POSTGRES_PASSWORD=brokerium -e POSTGRES_DB=brokerium postgres:18-alpine
docker run -d --name brokerium --network brokerium -p 8080:8080 -p 8443:8443 \
-v brokerium-data:/var/lib/brokerium -e BROKERIUM_ADMIN_PASSWORD=change-me \
-e BROKERIUM_DATABASE_URL='postgres://brokerium:brokerium@brokerium-db:5432/brokerium?sslmode=disable' \
bvaliev/brokerium-server:0.1.0Open http://localhost:8080, sign in as admin and add a cluster by its bootstrap servers.
Kubernetes with Helm
git clone https://github.com/brokerium/brokerium
helm install brokerium brokerium/deploy/helm/brokerium -n brokerium --create-namespace
kubectl -n brokerium get secret brokerium -o jsonpath='{.data.admin-password}' | base64 -d
kubectl -n brokerium port-forward svc/brokerium 8080:8080The chart bundles a single PostgreSQL for evaluations. For production, setpostgresql.enabled=false and point database.url at a managed database. The secret key that seals stored credentials is generated on install and kept on upgrades; back it up together with the database. A ClusterRole lets the server manage Strimzi clusters in the same Kubernetes cluster.
Release binaries
Static binaries for Linux and macOS on amd64 and arm64 are attached to everyrelease, withSHA256SUMS and an SPDX SBOM.
curl -fLO https://github.com/brokerium/brokerium/releases/download/v0.1.0/brokerium-server-linux-amd64
curl -fLO https://github.com/brokerium/brokerium/releases/download/v0.1.0/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
chmod +x brokerium-server-linux-amd64
BROKERIUM_ADMIN_PASSWORD=change-me \
BROKERIUM_DATABASE_URL='postgres://brokerium:brokerium@localhost:5432/brokerium' \
./brokerium-server-linux-amd64Agents on virtual machines
Create a join token on the Nodes page, then run the install script the server serves on each Kafka host:
curl -fsSL https://brokerium.example.com/api/v1/agent/install.sh | \
sudo BROKERIUM_AGENT_SERVER=brokerium.example.com:8443 BROKERIUM_AGENT_TOKEN=brk1.… shThe script checks the agent binary against the checksums of its release, installs a systemd unit and starts the agent. The agent connects out to the server over mutual TLS and runs Kafka as its own unit under the kafka account.
The complete guide, with all settings, is in thedocumentation.