Prerequisites
- Docker version 20.10 or later
- Docker Compose version 2.0 or later (included with Docker Desktop)
Quick Start with Toolbox
The Toolbox image is the fastest way to get started. It includes all security tools pre-installed via the official install script.Using Make Targets
Manual Docker Commands
The toolbox container persists data using Docker volumes for
osmedeus-base and workspaces-osmedeus, so your scan results survive container restarts.Running Workflows
Interactive Mode
Enter the container shell and run scans interactively:One-Off Commands
Run scans without entering the container:Persisting Results with Volume Mounts
For host-accessible scan results, mount local directories:Running the Server
Basic Server Startup
Start the REST API server inside the toolbox container:Server with Authentication
The API server uses JWT authentication by default. Configure credentials inosm-settings.yaml:
-A flag:
Distributed Mode with Docker Compose
For large-scale scanning, use the distributed architecture with a master node coordinating multiple workers.Architecture
Basic Setup
The basic compose file (docker-compose.yml) includes Redis, master, and workers with SQLite:
Production Setup
For production deployments with PostgreSQL, usedocker-compose.production.yaml:
Step 1: Create environment file
.env with secure values:
Generate secure passwords with:
openssl rand -base64 24osm-settings.production.yaml. Key settings:
Environment Variables
Scaling Workers
Workers can be scaled dynamically based on workload:- CPU: 2 cores (limit), 0.5 cores (reservation)
- Memory: 2GB (limit), 512MB (reservation)
Building Custom Images
Production Image
The production Dockerfile (build/docker/Dockerfile) creates a minimal image:
Development Image
For development with hot-reloading:- Full Go toolchain
- Air for hot-reloading
- Vim for editing
