Wildbox Quick Start Guide

Get Wildbox running in 5 minutes

๐Ÿ“ข Early Evaluation Phase: Wildbox is actively seeking community feedback, bug reports, and feature suggestions. Report issues and share feedback to help us build the mature platform the community needs.


โšก Prerequisites

Before starting, ensure you have installed:

Check installations:

docker --version
docker compose --version
git --version

๐Ÿ“ฅ 1. Clone the Repository

git clone https://github.com/fabriziosalmi/wildbox.git
cd wildbox

2. Configure Environment

Create environment files for each service:

# Copy example environment files
cp .env.example .env

# For sensitive data, use secure values:
# Edit .env and add your actual credentials
nano .env

Essential environment variables:

# Database
DATABASE_URL=postgresql+asyncpg://postgres:secure_password@postgres:5432/wildbox

# API Gateway
API_KEY=your-secure-api-key-here

# Claude (Anthropic) โ€” optional; enables AI threat analysis
ANTHROPIC_API_KEY=sk-ant-your-actual-key

# JWT Security
JWT_SECRET_KEY=your-secure-jwt-secret-min-32-chars

# Redis
REDIS_URL=redis://redis:6379/0


๐Ÿณ 3. Start All Services

# Start all services in the background
docker compose up -d

# Check service status
docker compose ps

# View logs
docker compose logs -f

# Stop everything
docker compose down

Option B: Run Specific Services

# Start only the core (gateway, identity, tools API) plus datastores
docker compose up -d postgres wildbox-redis gateway identity api

# Or start individual services
docker compose up -d postgres wildbox-redis

# Wait for databases to be ready
sleep 10

# Then start application services
docker compose up -d identity api

4. Verify Installation

Once services are running, verify theyโ€™re healthy:

# Check API health
curl http://localhost:8000/health
curl http://localhost:8001/health
curl http://localhost:8006/health

# Expected response:
# {"status":"healthy","timestamp":"...","version":"..."}

๐ŸŒ 5. Access the Dashboard

Open your browser and navigate to:

Service URL Default Credentials
Dashboard http://localhost:3000 Set via INITIAL_ADMIN_EMAIL/INITIAL_ADMIN_PASSWORD in .env
API Docs http://localhost:8000/docs N/A

๐Ÿ”‘ 6. First-Time Login

Dashboard Access

# Get initial admin token
curl -X POST http://localhost:8001/auth/jwt/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "$INITIAL_ADMIN_EMAIL",
    "password": "$INITIAL_ADMIN_PASSWORD"
  }'

# Use the returned token for API requests
curl -H "Authorization: Bearer $TOKEN" http://localhost:8000/v1/dashboard

Reset Admin Password (if needed)

# Access the identity service shell
docker compose exec identity bash

# Reset password
python -c "
from app.models import User
from passlib.context import CryptContext

pwd_context = CryptContext(schemes=['bcrypt'])
hashed = pwd_context.hash('new-password-here')
# Update in database manually or through admin script
"

7. Common Tasks

View Service Logs

# All services
docker compose logs -f

# Specific service
docker compose logs -f identity
docker compose logs -f agents

# Last 100 lines
docker compose logs --tail=100 identity

Run Database Migrations

# For PostgreSQL-based services
docker compose exec identity \
  alembic upgrade head

docker compose exec data \
  alembic upgrade head

Execute Commands in Running Containers

# Access a service shell
docker compose exec identity bash
docker compose exec agents bash

# Run a specific command
docker compose exec -T postgres psql -U postgres -d wildbox -c "SELECT COUNT(*) FROM users;"

Test API Endpoints

# Get authentication token
TOKEN=$(curl -s -X POST http://localhost:8001/auth/jwt/login \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=$INITIAL_ADMIN_EMAIL&password=$INITIAL_ADMIN_PASSWORD" | jq -r '.access_token')

# Make authenticated requests
curl -H "Authorization: Bearer $TOKEN" http://localhost:8000/v1/indicators
curl -H "Authorization: Bearer $TOKEN" http://localhost:8006/v1/analyze \
  -H "Content-Type: application/json" \
  -d '{"ioc": {"type": "ip", "value": "8.8.8.8"}}'

8. Monitoring & Health Checks

Dashboard Status

# Get overall health
curl http://localhost:8000/health | jq .

# Get detailed service status
curl http://localhost:8000/stats | jq .

Database Connectivity

# Check PostgreSQL
docker compose exec postgres pg_isready -U postgres

# Check Redis
docker compose exec wildbox-redis redis-cli ping

Memory & Disk Usage

# Check container resource usage
docker stats

# Check disk usage
docker system df

9. Troubleshooting

Services Wonโ€™t Start

# Check error logs
docker compose logs identity

# Rebuild images
docker compose build --no-cache

# Restart services
docker compose restart

# Full reset (WARNING: Deletes data)
docker compose down -v
docker compose up -d

Canโ€™t Connect to API

# Verify services are running
docker compose ps

# Check if ports are open
netstat -an | grep 8000
lsof -i :8000

# Test connectivity
curl -v http://localhost:8000/health

Database Connection Issues

# Check PostgreSQL logs
docker compose logs postgres

# Verify database exists
docker compose exec postgres psql -U postgres -l

# Check Redis connection
docker compose exec wildbox-redis redis-cli info

Out of Memory or Disk Space

# Clean up unused images/volumes
docker system prune -a

# Check disk usage
du -sh ./*

# Reduce log retention
docker compose down
# Edit docker-compose.yml and adjust volumes

10. Next Steps

After successful deployment:

  1. Security Hardening: Review remediation checklist
  2. Full Documentation: See README.md for comprehensive information
  3. API Documentation: Visit http://localhost:8000/docs for interactive API docs
  4. Monitoring Setup: Configure Grafana dashboards and alerting rules
  5. Integration: Set up external integrations (Slack, email, webhooks, etc.)
  6. Custom Playbooks: Create YAML-based automation playbooks in open-security-responder

11. Production Deployment

For production use:

# 1. Secure all credentials in .env.production
cp .env .env.production
nano .env.production

# 2. Use production docker compose
docker compose -f docker-compose.yml \
               -f docker-compose.prod.yml \
               up -d

# 3. Enable SSL/TLS on the gateway
# Configure certificates for the gateway service (see haproxy/ and docker-compose.prod.yml)

# 4. Set up monitoring and alerting
# Configure Prometheus retention and Grafana alerts

# 5. Enable backups
# Set up automated PostgreSQL and Redis backups

# 6. Security hardening
# Review and implement SECURITY_REMEDIATION_CHECKLIST.md

๐Ÿ†˜ Support & Troubleshooting


Quick Reference

Command Purpose
docker compose up -d Start all services
docker compose down Stop all services
docker compose logs -f View live logs
docker compose ps Show running services
docker compose exec <service> bash Access service shell
docker compose restart <service> Restart specific service
docker compose build Rebuild images

Happy Securing!

For questions or issues, refer to the comprehensive README.md or open an issue on GitHub.