🐳 Quick Start — Docker¶
Run Engine-AntiGinx in a container without a local Go installation.
✅ Requirements¶
- Docker 24+
- Internet access (to pull image / scan targets)
- RabbitMQ (if running
Engined)
Option A: Pre-built Image from GHCR¶
Pull the Latest Image¶
Scan from Container (CLI App)¶
docker run --rm \
ghcr.io/prawo-i-piesc/engine-antiginx:latest \
/engine-antiginx/App test --target example.com --tests https hsts serv-h-a
JSON File Mode¶
docker run --rm \
-v "$PWD":/work \
-w /work \
ghcr.io/prawo-i-piesc/engine-antiginx:latest \
/engine-antiginx/App json ./scan.json
Raw JSON Mode (stdin)¶
cat scan.json | docker run --rm -i \
ghcr.io/prawo-i-piesc/engine-antiginx:latest \
/engine-antiginx/App rawjson
Option B: Build Image Locally¶
Build the Image¶
Scan from Container (CLI App)¶
🔄 Run Engined (RabbitMQ Worker)¶
Start the worker that listens for scan tasks on RabbitMQ:
docker run --rm \
-e RABBITMQ_URL="amqp://guest:guest@host.docker.internal:5672/" \
-e BACK_URL="http://host.docker.internal:3000/api/results" \
ghcr.io/prawo-i-piesc/engine-antiginx:latest \
/engine-antiginx/Engined
Engined listens for messages on the scan_queue and runs App in rawjson mode for each one.
🛠️ Notes¶
- The image contains both
AppandEnginedbinaries built in a multi-stage Dockerfile. Appis used for CLI scanning, whileEnginedis the background worker that processes RabbitMQ tasks.
🔧 Troubleshooting¶
RABBITMQ_URL environment variable is not set→ Add-e RABBITMQ_URL=....- Cannot connect to RabbitMQ → Check host, port, credentials, and container network.
- Target scan fails → Verify the domain is reachable from the container.