Skip to content

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.

ImageDescription
ghcr.io/brunoafk/recon-web/apiAPI server
ghcr.io/brunoafk/recon-web/webWeb UI (Nginx frontend)
ghcr.io/brunoafk/recon-web/cliCLI tool
  1. Create a project directory and add an environment file:

    Terminal window
    mkdir recon-web && cd recon-web
    curl -O https://raw.githubusercontent.com/brunoafk/recon-web/main/.env.example
    cp .env.example .env
  2. Download the remote Compose file:

    Terminal window
    curl -O https://raw.githubusercontent.com/brunoafk/recon-web/main/docker-compose.remote.yml
  3. Start all services:

    Terminal window
    docker compose -f docker-compose.remote.yml up -d
  4. Open the web UI at http://localhost:8080.

By default, the latest tag is used. To pin to a specific release, set the TAG environment variable:

Terminal window
TAG=1.0.0 docker compose -f docker-compose.remote.yml up -d

Or in your .env file:

Terminal window
TAG=1.0.0

If you mirror the images to a private registry, override the REGISTRY variable:

Terminal window
REGISTRY=registry.example.com/recon-web docker compose -f docker-compose.remote.yml up -d

The Compose file constructs image references as ${REGISTRY}/api:${TAG}, ${REGISTRY}/web:${TAG}, etc.

Pull the latest images and restart:

Terminal window
docker compose -f docker-compose.remote.yml pull
docker compose -f docker-compose.remote.yml up -d

To update to a specific version:

Terminal window
TAG=1.1.0 docker compose -f docker-compose.remote.yml pull
TAG=1.1.0 docker compose -f docker-compose.remote.yml up -d
Terminal window
docker compose -f docker-compose.remote.yml run --rm cli scan https://example.com

Scan data is stored in a scan-data Docker volume, identical to the local build setup. The backup and restore process is the same.

Terminal window
# Keep data
docker compose -f docker-compose.remote.yml down
# Delete data
docker compose -f docker-compose.remote.yml down -v