Architecture

The DefectDojo platform consists of several components that work together closely.

Architecture

NGINX

The webserver NGINX delivers all static content, e.g. images, JavaScript files or CSS files.

uWSGI

uWSGI is the application server that runs the DefectDojo platform, written in Python/Django, to serve all dynamic content.

Message Broker

The application server sends tasks to a Message Broker for asynchronous execution. Currently, only Redis is supported as a broker.

Celery Worker

Tasks like deduplication or the JIRA synchronization are performed asynchronously in the background by the Celery Worker.

Celery Beat

In order to identify and notify users about things like upcoming engagements, DefectDojo runs scheduled tasks. These tasks are scheduled and run using Celery Beat.

Initializer

The Initializer setups / maintains the database and syncs / runs migrations after version upgrades. It shuts itself down after all tasks are performed.

Database

The Database stores all the application data of DefectDojo. Currently only PostgreSQL is supported.