Docker (Pre-built Images)
If you do not need to build from source, you can run recon-web using the pre-built Docker images published to GitHub Container Registry (GHCR). This is the fastest way to deploy without cloning the repository.
Available images
Section titled “Available images”| Image | Description |
|---|---|
ghcr.io/brunoafk/recon-web/api | API server |
ghcr.io/brunoafk/recon-web/web | Web UI (Nginx frontend) |
ghcr.io/brunoafk/recon-web/cli | CLI tool |
Getting started
Section titled “Getting started”-
Create a project directory and add an environment file:
Terminal window mkdir recon-web && cd recon-webcurl -O https://raw.githubusercontent.com/brunoafk/recon-web/main/.env.examplecp .env.example .env -
Download the remote Compose file:
Terminal window curl -O https://raw.githubusercontent.com/brunoafk/recon-web/main/docker-compose.remote.yml -
Start all services:
Terminal window docker compose -f docker-compose.remote.yml up -d -
Open the web UI at http://localhost:8080.
Version pinning
Section titled “Version pinning”By default, the latest tag is used. To pin to a specific release, set the TAG environment variable:
TAG=1.0.0 docker compose -f docker-compose.remote.yml up -dOr in your .env file:
TAG=1.0.0Custom registry
Section titled “Custom registry”If you mirror the images to a private registry, override the REGISTRY variable:
REGISTRY=registry.example.com/recon-web docker compose -f docker-compose.remote.yml up -dThe Compose file constructs image references as ${REGISTRY}/api:${TAG}, ${REGISTRY}/web:${TAG}, etc.
Updating
Section titled “Updating”Pull the latest images and restart:
docker compose -f docker-compose.remote.yml pulldocker compose -f docker-compose.remote.yml up -dTo update to a specific version:
TAG=1.1.0 docker compose -f docker-compose.remote.yml pullTAG=1.1.0 docker compose -f docker-compose.remote.yml up -dRunning CLI scans
Section titled “Running CLI scans”docker compose -f docker-compose.remote.yml run --rm cli scan https://example.comData persistence
Section titled “Data persistence”Scan data is stored in a scan-data Docker volume, identical to the local build setup. The backup and restore process is the same.
Stopping
Section titled “Stopping”# Keep datadocker compose -f docker-compose.remote.yml down
# Delete datadocker compose -f docker-compose.remote.yml down -v