Installation
BOOM runs on macOS and Linux. Follow the instructions below to set up your development environment.If you’re on Windows, you must use WSL2 (Windows Subsystem for Linux) and install a Linux distribution like Ubuntu 24.04.
System requirements
Before installing BOOM, ensure you have the following prerequisites:- Docker and docker compose: Used to run MongoDB, Redis/Valkey, and Kafka
- Rust >= 1.55.0: Systems programming language used by BOOM
- tar: Used to extract archived alerts for testing
- libssl, libsasl2: Required for Rust crates that depend on native libraries for secure connections and authentication
- Kafka CLI tools: Available with
brew install kafkaon macOS
Installation by platform
- macOS
- Linux
Docker
On macOS we recommend using Docker Desktop to install Docker.Download Docker Desktop
Visit the Docker Desktop website and download the installer for macOS.
Install and create account
Follow the installation instructions. The website will ask you to “choose a plan”, but you just need to create a free account that offers all the features you’ll need.
Rust
You can install Rust using either rustup (recommended) or Homebrew.We recommend using rustup, as it allows you to easily switch between different versions of Rust and keep your installation up to date.
System packages
System packages are essential for compiling and linking some Rust crates. Most should come with macOS by default, but if you encounter compilation errors, install them with Homebrew:Kafka CLI tools
Install Kafka command-line tools:Clone the repository
Clone the BOOM repository from GitHub:Environment configuration
BOOM uses environment variables for sensitive configuration like passwords and API keys.Edit configuration (optional)
For local development, the defaults in
.env.example work fine. For production, update the following:BOOM_DATABASE__PASSWORD: MongoDB admin passwordBOOM_API__AUTH__SECRET_KEY: JWT secret key (at least 32 characters)BOOM_API__AUTH__ADMIN_PASSWORD: Admin API passwordKAFKA_ADMIN_PASSWORD: Kafka admin passwordKAFKA_READONLY_PASSWORD: Kafka read-only user password
Email configuration (optional)
To send emails for notifications and Babamul account activation codes, configure the email-related environment variables in.env:
If email is not configured or disabled, Babamul activation codes will be printed to the console logs instead.
Start services
Launch the required services using Docker Compose:- Valkey (Redis fork): In-memory cache and task queue
- MongoDB: Document database for alert storage
- Kafka: Message broker for alert streaming
- BOOM API: HTTP API server (in development)
- Prometheus: Metrics and monitoring
This may take a couple of minutes the first time you run it, as Docker needs to download the images for each service.
mongo, valkey, broker (Kafka), and other services.
Build BOOM
Build the Rust binaries:The
--release flag enables optimizations for better performance. The first build may take several minutes as Cargo compiles all dependencies.Verify installation
Verify BOOM is ready by checking the available binaries:kafka_consumerkafka_producerscheduler
Next steps
Quick start guide
Now that BOOM is installed, follow the quickstart guide to process your first alerts
Troubleshooting
Compilation errors
If you encounter compilation errors related to missing libraries:- macOS: Install system packages with
brew install openssl@3 cyrus-sasl gnu-tar - Linux: Ensure you have
libssl-devandlibsasl2-devinstalled
Docker issues
If Docker Compose fails to start:- Ensure Docker is running:
docker info - Check container logs:
docker compose logs - Verify port availability: Ports 4000, 6379, 9092, 27017, and 9090 must be available