This repository ships a hardened Bash installer that bootstraps MITRE Caldera v5.0 together with Python 3.12.7, Node.js (latest LTS via NVM) and Go on Ubuntu 22.04+ or Kali 2024.4.
Why this script?
Manual Caldera installation involves compiling Python from source, installing NVM, Node, Go, plus dozens of build libraries.
The script below automates every step, applies sensible error checking, writes a full log, and cleans up after itself.
# Make executable & run (sudo required for package installs)
chmod +x caldera-setup.sh
sudo ./caldera-setup.shThe script will:
- Update APT indexes
- Install all build dependencies
- Verify / compile Python 3.12.7 with
--enable‑optimizations - Install NVM v0.40.1 ➜ latest stable Node.js
- Verify Go (installs via APT)
- Clone Caldera with sub‑modules into
~/caldera5 - Create a Python virtual env and install
requirements.txt - Perform the initial front‑end build and launch Caldera
- Write a timestamped log to
~/caldera-install-YYYY-MM-DD_HH:MM:SS.log
| Item | Location |
|---|---|
| Caldera root | ~/caldera5 |
| Python virtual environment | ~/caldera5/venv |
| NVM / Node.js | ~/.nvm |
| Install log | ~/caldera-install-YYYY-MM-DD_HH:MM:SS.log |
After the script finishes it starts Caldera automatically:
http://localhost:8888
To restart later:
cd ~/caldera5
source venv/bin/activate
python3 server.py --buildCredentials:
On first launch Caldera creates random admin creds if secure‑mode is enabled.
Check the startup banner or open the install log or Open the file: ~/caldera5/conf/local.yml (or local.json depending on version)
| Symptom | Fix |
|---|---|
| Python build fails | Make sure you have ≥ 2 GB free in /tmp and build-essential installed (script handles this—rerun). |
| NVM not found after install | Source ~/.nvm/nvm.sh or open a new shell. |
| Port 8888 already in use | lsof -i:8888 then kill or change Caldera port in conf/default.yml. |
Detailed output lives in the timestamped log file—attach it when opening issues.
The script installs the following APT packages (edit inside PACKAGES=( … ) if you have local mirrors):
build-essential curl git zip unzip wget software-properties-common libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev python3-pip python3-venv golang-go
set -euo pipefail– exit on any error- Color‑coded logging with
[INFO] [SUCCESS] [WARNING] [ERROR] - Cleans
/tmp/Python-*build dirs on exit (success or failure) - Prompts before overwriting an existing
~/caldera5directory
This installer is released as‑is for research and lab use.
Always obtain explicit authorization before running offensive tooling on production systems.
MITRE Caldera is an open-source adversary emulation platform maintained by MITRE Corporation.