This guide will help you deploy the Metalware firmware fuzzer as a Docker container locally or in the cloud.

1. Pre-Deployment Requirements

Before you run the Docker container, ensure that you have completed the following steps:
Minimum System Requirements:
  • Memory: At least 8GB RAM
  • CPU: At least 2 CPU cores (performance scales vertically)
Operating System:
  • Linux distribution (e.g., Ubuntu, Amazon Linux 2) with Docker installed
Docker Installation:
  • Ensure Docker is installed and running. Example (Ubuntu):
bash
sudo apt-get update sudo apt-get install -y docker.io sudo systemctl start docker sudo systemctl enable docker
Networking:
  • Ensure that your firewall or security groups allow traffic on the port you plan to use (default 8080 or your chosen alternative).

2. Load the Docker Image

Load the Metalware image (e.g., havoc-2.x.x.tar) into your local Docker environment:
bash
docker load -i havoc-2.x.x.tar

3. Running the Docker Container

The application runs on port 8080 by default, so we are going to have to forward it to make it accessible from the host. We are also going to create a volume called havoc to persist our data across image updates. This is also the step you pass in your license key:
bash
docker run -p 0.0.0.0:8080:8080 -v havoc:/app/user-data -e HAVOC_LICENSE_KEY=<insert> havoc-v2:latest
You can alternatively forward it to a different port on the host:
bash
docker run -p 0.0.0.0:8082:8080 -v havoc:/app/user-data -e HAVOC_LICENSE_KEY=<insert> havoc-v2:latest

4. Verify That Metalware is Running

Open a browser and navigate to:
plain text
http://<host ip>:<host port>
You should now see the home screen:
Image without caption