Public | Automated Build

Last pushed: 5 days ago
Short Description
Arachni web application security scanner with a real database (postgres)
Full Description


Docker build for Arachni scanner


Arachni is a feature-full, modular, high-performance Ruby framework aimed towards helping penetration testers and administrators evaluate the security of modern web applications. see the good work here:


The default sqlite deployment has many limitations as described on the arachni webui landing page. This image has been preconfigured to used postgres as the dateabase to overcome these limitations.


treadie/arachni:latest - arachni framework v1.5.1 & webui v0.5.12
treadie/arachni:1.4-0.5.10 - arachni framework v1.4 & webui v0.5.10



This image relies on a seperate and running postgres instance. The easiest way of doing this is using the official postgres Docker image

Pull postgres

docker pull postgres

Configure postgres for arachni

docker run --name postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=arachni -e POSTGRES_DB=arachni_production -d postgres

Feel free to manipulate and modify the above command for production environments as you see fit. I plan to create a compose file to automate this whole process, but not there yet.


To pull this image from the Docker registry, open a shell prompt and enter:

docker pull treadie/arachni


Run a container from the image with the following command:

docker run -t --name arachni --link postgres -p 9292:9292 treadie/arachni

If this is the first time it has been run then starup will throw a warning as the arachni_production database has not been setup using arachni_web_task db:setup this also means the webui will not load. to resolve this issue, run the following command:

docker exec -i arachni /opt/arachni/bin/arachni_web_task db:setup

Note: Use the command above with caution. It's designed to setup a clean and default database. if you have scan data in your database and run this command it will be removed!

Database Connection

The database configuration settings for Arachni are configured by environment variables. By default they have been preconfigured with what comes out of the box from the Arachni developers. The variables of interest for this image are (with their default values):

POSTGRES_DATABASE arachni_production

Manipulate as required by starting the image using -e for example:

docker run --name arachni --link postgres -e -p 9292:9292 treadie/arachni


  1. Clone repo
  2. Go to repo dir
  3. docker build -t "treadie/arachni" .
  4. docker history treadie/arachni
  5. docker build -t "treadie/arachni:latest" -t "treadie/arachni:1.4-0.5.10" .
Docker Pull Command
Source Repository