Skip to main content

Installation

DecisionBox can be installed in three ways, depending on your needs.

The fastest way to get started. Runs all services in containers.

Prerequisites:

  • Docker 24+ and Docker Compose v2+
git clone https://github.com/decisionbox-io/decisionbox-platform.git
cd decisionbox-platform
docker compose up -d

Open http://localhost:3000.

Customizing the Stack

Edit docker-compose.yml to change ports, add volumes, or configure environment variables:

services:
api:
environment:
- SECRET_PROVIDER=mongodb
- SECRET_ENCRYPTION_KEY=your-base64-key # openssl rand -base64 32
- LOG_LEVEL=info

See Configuration Reference for all available environment variables.

Option 2: From Source (Development)

Run services directly on your machine. Best for development and contributing.

Prerequisites:

  • Go 1.25+
  • Node.js 20+
  • MongoDB 7+ (or Docker for MongoDB only)
  • Make

Step 1: Clone and Build

git clone https://github.com/decisionbox-io/decisionbox-platform.git
cd decisionbox-platform

# Build Go binaries
make build

# Install dashboard dependencies
cd ui/dashboard && npm install && cd ../..

Step 2: Start MongoDB

Use Docker for MongoDB only:

docker compose up -d mongodb

Or use an existing MongoDB instance — set MONGODB_URI accordingly.

Step 3: Run Services

Open two terminals:

# Terminal 1: API
make dev-api

# Terminal 2: Dashboard
make dev-dashboard

The API runs on http://localhost:8080 and the dashboard on http://localhost:3000.

Step 4: Install Agent Binary

The API spawns the agent as a subprocess. The agent binary must be in your PATH:

make build-agent
sudo cp bin/decisionbox-agent /usr/local/bin/

Option 3: Pre-built Binaries

Download pre-built binaries from GitHub Releases.

# Download (example for Linux amd64)
curl -L https://github.com/decisionbox-io/decisionbox-platform/releases/download/v0.1.0/decisionbox-api-linux-amd64 -o decisionbox-api
curl -L https://github.com/decisionbox-io/decisionbox-platform/releases/download/v0.1.0/decisionbox-agent-linux-amd64 -o decisionbox-agent

chmod +x decisionbox-api decisionbox-agent
sudo mv decisionbox-agent /usr/local/bin/

# Run the API
MONGODB_URI=mongodb://localhost:27017 MONGODB_DB=decisionbox DOMAIN_PACK_PATH=./domain-packs ./decisionbox-api

For the dashboard, you'll need to build from source or use the Docker image:

docker run -p 3000:3000 -e API_URL=http://host.docker.internal:8080 ghcr.io/decisionbox-io/decisionbox-dashboard:latest

Docker Images

Three images are published to GitHub Container Registry:

ImageSizeDescription
ghcr.io/decisionbox-io/decisionbox-api~84 MBAPI server + agent binary + domain packs
ghcr.io/decisionbox-io/decisionbox-agent~47 MBStandalone agent (for K8s Job mode)
ghcr.io/decisionbox-io/decisionbox-dashboard~213 MBNext.js dashboard
# Pull images
docker pull ghcr.io/decisionbox-io/decisionbox-api:latest
docker pull ghcr.io/decisionbox-io/decisionbox-dashboard:latest

Verifying the Installation

Check that all services are healthy:

# API health
curl http://localhost:8080/health
# → {"status":"ok"}

# API readiness (checks MongoDB)
curl http://localhost:8080/health/ready
# → {"status":"ok","checks":{"mongodb":"ok"}}

# Dashboard health (checks API connectivity)
curl http://localhost:3000/health
# → {"status":"ok","services":{"api":{"status":"ok"}}}

Next Steps