By the end of this guide you will have a fully working Webhood instance running on your own machine, a configured scanner connected to the backend, and a completed URL scan with a screenshot, HTML capture, and network trace you can inspect in the UI. The entire process takes under 10 minutes on any host that meets the prerequisites below.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/webhood-io/webhood/llms.txt
Use this file to discover all available pages before exploring further.
Steps
Install Prerequisites
Webhood requires:
- Docker Engine 20+ — Install Docker Engine
- Docker Compose v2 — bundled with Docker Desktop; on Linux servers install the
docker-compose-pluginpackage
Clone the Repository
docker-compose.yml, kong.yml, and an .env.example template that you will configure in the next step.Configure the Environment File
Copy the example file to create your local configuration:Open
.env in your editor. The file looks like this:| Variable | Required | Description |
|---|---|---|
SCANNER_TOKEN | Yes (after initial setup) | Authentication token for the scanner. Leave blank for the first boot; you will generate it from the UI in a later step. |
EXTERNAL_URL | No | Override the URL the core UI uses to reach the backend API. Defaults to / (Kong proxy). Only needed when the backend is on a different host or port. |
SCANNER_LOG_LEVEL | No | Scanner logging verbosity. One of fatal, error, warn, info (default), debug, trace. |
SCANNER_NO_PRIVATE_IPS | No | Set to true to block the scanner from visiting URLs that resolve to private/RFC-1918 IP addresses. Useful for preventing SSRF-style scanning of internal hosts. |
WEBHOOD_HTTP_PORT | No | Host port for HTTP traffic. Defaults to 8000. |
WEBHOOD_HTTPS_PORT | No | Host port for HTTPS traffic. Defaults to 8443. |
WEBHOOD_TLS_CERT | No | Path to a TLS certificate file on the host for HTTPS termination at Kong. |
WEBHOOD_TLS_KEY | No | Path to the matching TLS private key file. |
HTTP_PROXY / HTTPS_PROXY / NO_PROXY | No | Standard proxy environment variables forwarded to the scanner container for environments that require outbound HTTP proxying. |
Review the Docker Compose Services
The Scan data (SQLite database, screenshots, HTML, and trace files) is persisted in the named Docker volume
docker-compose.yml defines the four services that make up Webhood:data.Start the Stack
webhood-proxy, webhood-scanner, webhood-core, and webhood-backend all in a running or healthy state.Open the UI
Navigate to http://localhost:8000 in your browser (or substitute the hostname and port you configured).The first time you open Webhood you will be prompted to create an administrator account. Complete the registration form to set your admin email and password.
Create a Scanner and Copy the Token
The scanner container needs an API token to authenticate with the backend. Generate one from the UI:
- Click Settings in the left sidebar.
- Open the General tab.
- Use the dropdown to create a scanner instance and give it a name.
- Once created, select the scanner and click Copy token (or refresh the token if needed) to copy the
SCANNER_TOKENvalue to your clipboard.
Set SCANNER_TOKEN and Restart the Scanner
Paste the copied token into your Then restart only the scanner container to pick up the new value:The scanner will authenticate with the backend and begin listening for new scan jobs. You should see a log line indicating a successful realtime subscription:
.env file:Submit Your First URL
Return to http://localhost:8000, paste a URL into the scan input field, and click Scan.The scanner picks up the job immediately via realtime subscription (or within 10 seconds via the polling fallback). Once complete, the scan result page shows:
- Screenshot — full-page capture of the rendered page
- HTML — the DOM as rendered by the browser
- Trace — all HTTP requests and responses with headers, status codes, and host IPs
- Details — request headers, links found on the page, and other metadata
- Metadata — timing information (initiated, started, finished, duration) and scanner configuration
Next Steps
- Read the Architecture overview to understand how the four services communicate.
- Review Environment Variables for the full configuration reference.
- Explore the API Reference to integrate Webhood into automated workflows.