forked from DefectDojo/django-DefectDojo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
1,094 additions
and
284 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,21 @@ | ||
FROM ubuntu:16.04 as base | ||
FROM ubuntu:latest as base | ||
MAINTAINER Matt Tesauro <[email protected]>, Aaron Weaver <[email protected]> | ||
|
||
# # # Create a docker image for DefectDojo and all dependencies | ||
# Multi-stage build for DefectDojo | ||
# Stage 1: base | ||
# Creates the base image with DefectDojo and Django | ||
# | ||
# Stage 2: dev-mysql-self-contained | ||
# Creates an all in one with mysql for travis and dev testing | ||
# | ||
# Stage 3: release | ||
# DefectDojo app only with depenencies and for use with an external DB | ||
# | ||
# To build MySQL: | ||
# docker build --target dev-mysql-self-contained -t defectdojo-dev-mysql-self-contained . | ||
# | ||
# To build release (no DB): | ||
# docker build --target release -t defectdojo-release . | ||
|
||
# Create the application user; | ||
RUN adduser --disabled-password --gecos "DefectDojo" dojo | ||
|
@@ -17,12 +31,13 @@ RUN ./setup-docker.bash -y dependencies | |
FROM base as dev-mysql-self-contained | ||
RUN ./setup-docker.bash -y db -d MYSQL | ||
# Give the app user sudo permissions and switch executing user | ||
ADD ./docker/etc/dojo_sudo /etc/sudoers.d/ | ||
ADD ./docker/dojo_sudo /etc/sudoers.d/ | ||
USER dojo:dojo | ||
# Start DefectDojo Services | ||
CMD entrypoint_scripts/run/startup-docker.bash | ||
|
||
########## Stage: release ########## | ||
FROM dev-mysql-self-contained as release | ||
RUN ./setup-docker.bash -y release | ||
# USER dojo | ||
CMD gunicorn --bind 0.0.0.0:$PORT wsgi | ||
RUN chmod +x docker/entrypoint.sh | ||
CMD docker/entrypoint.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# Structure: | ||
# Internet --> [ nginx ] --> [ django ] --> [ mysql ] | ||
# | Data network | | ||
# | Proxy network | | ||
|
||
version: '3.4' | ||
|
||
networks: | ||
data: | ||
external: false | ||
proxy: | ||
external: false | ||
|
||
services: | ||
|
||
django: | ||
build: | ||
context: . | ||
target: release | ||
container_name: 'defectdojo_django' | ||
depends_on: | ||
- mysql | ||
environment: | ||
DEFECT_DOJO_ADMIN_PASSWORD: ${DEFECT_DOJO_ADMIN_PASSWORD:-admin} | ||
DEFECT_DOJO_DEFAULT_DATABASE_HOST: 'mysql' | ||
DEFECT_DOJO_DEFAULT_DATABASE_PORT: '3306' | ||
DEFECT_DOJO_DEFAULT_DATABASE_NAME: 'dojodb' | ||
DEFECT_DOJO_DEFAULT_DATABASE_USER: 'dojo' | ||
DEFECT_DOJO_DEFAULT_DATABASE_PASSWORD: ${DEFECT_DOJO_DEFAULT_DATABASE_PASSWORD:-dojodbpwd} | ||
DD_DATABASE_URL: 'mysql://dojo:${DEFECT_DOJO_DEFAULT_DATABASE_PASSWORD:-dojodbpwd}@mysql:3306/dojodb' | ||
DD_ALLOWED_HOSTS: '*' | ||
DD_SECRET_KEY: ${DD_SECRET_KEY:-"hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq"} | ||
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-"&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw"} | ||
hostname: 'django' | ||
networks: | ||
- data | ||
- proxy | ||
volumes: | ||
- './docker/static:/opt/django-DefectDojo/static' | ||
|
||
mysql: | ||
command: '--default-authentication-plugin=mysql_native_password' | ||
container_name: 'defectdojo_mysql' | ||
environment: | ||
MYSQL_ROOT_PASSWORD: ${DEFECT_DOJO_MYSQL_ROOT_PASSWORD:-defectojo} | ||
MYSQL_DATABASE: 'dojodb' | ||
MYSQL_USER: 'dojo' | ||
MYSQL_PASSWORD: ${DEFECT_DOJO_DEFAULT_DATABASE_PASSWORD:-dojodbpwd} | ||
hostname: 'mysql' | ||
image: 'mysql:5.7' | ||
networks: | ||
- data | ||
volumes: | ||
- './docker/data:/var/lib/mysql' | ||
|
||
nginx: | ||
container_name: 'defectdojo_nginx' | ||
depends_on: | ||
- django | ||
hostname: 'nginx' | ||
image: 'nginx:latest' | ||
networks: | ||
- proxy | ||
ports: | ||
- '8080:80' | ||
- '4443:443' | ||
volumes: | ||
- "$PWD/docker/nginx.conf:/etc/nginx/nginx.conf:ro" | ||
- "$PWD/docker/cert.pem:/cert.pem:ro" | ||
- "$PWD/docker/key.pem:/key.pem:ro" | ||
# This gives Nginx access to the static assets compiled by Django. | ||
- './docker/static:/usr/share/nginx/html/static:ro' | ||
healthcheck: | ||
test: ["CMD", "wget", "-qO-", "http://django:8000"] | ||
interval: 20s | ||
timeout: 1s | ||
retries: 6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIFCjCCAvICCQC/GBFtSPGSvTANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJV | ||
UzEOMAwGA1UECgwFT1dBU1AxKDAmBgNVBAMMH0RlZmF1bHQgRGVmZWN0IERvam8g | ||
Q2VydGlmaWNhdGUwHhcNMTgxMTI5MjA0MDEyWhcNMTkxMTI5MjA0MDEyWjBHMQsw | ||
CQYDVQQGEwJVUzEOMAwGA1UECgwFT1dBU1AxKDAmBgNVBAMMH0RlZmF1bHQgRGVm | ||
ZWN0IERvam8gQ2VydGlmaWNhdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK | ||
AoICAQDMgFFI9ESJ6D7hLCo4t8ZWVdaQZVGzPnh2iggF29gUM1pOca+Sv9Gz6PbT | ||
LLRa90O5xK0S0Y+71t7uLJUZKYZYslBw0GF/U7d9Ej1ZcsiSH1zjYhAynuAGb84V | ||
YWlBz1is/MSMO6N2DyMaBC2fSTh3FK0fDndcYyHHMbxDG64b3f67AAXMjTFpqUIo | ||
SlRf0WJO6dvniYp7Npz9L6idY2lpFOz7GRj3EjuTK6nxm/jU6XN0EIbMkol263em | ||
EKpB0+6m+KByRl83QIeBdN7AdlSZiAImj1GY1a3KutJXOJAOegE1J2pcXlZl2o3K | ||
YwiIkRUzk6m8opL+JBRuCVd38WnpRufjK8ajXrDfJthJ9cRAL8xAG1mwmq1huDfP | ||
nckBnb6ucdbuErTyKTSRKB833J0Y8+FyZ51g5dpkhOB1WJ7pwJBIb87ZElqNAzCh | ||
i9azlTwx+thop8Una2MVmrfGgUcdFIDPgieIsya/mNODNhsnSsRYihEPo7g2mLFp | ||
oLT2aQKO4CH/7VjiXzG1QT013PSz/XOI9MJx2Gd2RPzMNxtXZoylmnTcHNF3SL14 | ||
sEQ/MNcLGSgIaX4gZ8Y5xVXKiF72+hsbZM7s55jhiYdZKMozrHPtks1RsmdD4Ksk | ||
hZ8jgejkZR4pXZhf354/U9NtTxUeHawPvtaKjAk4GfHNnDHQowIDAQABMA0GCSqG | ||
SIb3DQEBCwUAA4ICAQBmBjlyR5m6ECoJ2sUNvzGc/7fDc1qdSJ2hRRw3mjg3Yejk | ||
YCB+q4VOlJn2pzhfYKrmMFT4K0RpOsQr0MKwxrEnWm4WdpbfTe2cDWI+VCVVxv7C | ||
MQAxvwhdaecVgr3onUOSSOehw2wi6bzBYXklx0p53npfQVjUMXTxgYBV7zwuttnS | ||
e/gKIN6y4Pag74KJHVHZtHbVL98NKJvubBe1iYgl5zbOSZyjy/L1nhErFu7IjXL/ | ||
GY3IE4vaioMXsChRX8nnT01+IzkVkhDof2sMZxAKSWGy2v6W3/4B9TV2wOeTHejr | ||
h8dQUumrhvZ4pE+I5HyCkpofnAufBIadaOM/Dza9ZjX2bwlLGywfF2JYAYZgdbqi | ||
4VCOJTQzyxcjo5lRtrtrhMVzIcaakOFBgsE9WApGnzehenhFazUmjWW2mK7o5911 | ||
3715rLdG6T70CYjO0IzQwh0WbHmJca/DyqztTKIcba88ujNmXVXutE4xMIzRedVy | ||
ccyUFV4kBOmR8dz0P/myVYW6lMjgIKKj10KM1bd4DFPgO+Cxg+nZGlyuflmBp+he | ||
5gCHq96ZkVpdPVWnuxmKJDGOvH60WepgzmipvB/SoUpePke8CGuXnrnZiTzkRjNB | ||
CiNaQdQRCuTgasSOO66sXqQzrhodjqze2H527MrzjJnO0ia9+CEJ0NtzVSZKuQ== | ||
-----END CERTIFICATE----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#!/bin/sh | ||
|
||
# Waits for the database to come up. | ||
./docker/wait-for-it.sh $DEFECT_DOJO_DEFAULT_DATABASE_HOST:$DEFECT_DOJO_DEFAULT_DATABASE_PORT | ||
|
||
if [ ! -f "/opt/django-DefectDojo/static/docker_complete" ]; then | ||
python manage.py makemigrations dojo | ||
python manage.py makemigrations --merge --noinput | ||
python manage.py migrate | ||
|
||
if [ -z "$DEFECT_DOJO_ADMIN_PASSWORD" ]; then | ||
DEFECT_DOJO_ADMIN_PASSWORD="admin" | ||
fi | ||
|
||
# The '&&' is critical here. If the admin user is already created, setting the | ||
# password will not be done. | ||
python manage.py createsuperuser \ | ||
--noinput \ | ||
--username=admin \ | ||
--email='admin@localhost' && \ | ||
./docker/setup-superuser.expect | ||
|
||
python manage.py loaddata product_type | ||
python manage.py loaddata test_type | ||
python manage.py loaddata development_environment | ||
python manage.py loaddata system_settings | ||
python manage.py loaddata benchmark_type | ||
python manage.py loaddata benchmark_category | ||
python manage.py loaddata benchmark_requirement | ||
python manage.py loaddata language_type | ||
python manage.py loaddata objects_review | ||
python manage.py loaddata regulation | ||
python manage.py installwatson | ||
python manage.py buildwatson | ||
python manage.py collectstatic --noinput | ||
touch /opt/django-DefectDojo/static/docker_complete | ||
fi | ||
|
||
gunicorn \ | ||
--env DJANGO_SETTINGS_MODULE=dojo.settings.settings \ | ||
dojo.wsgi:application \ | ||
--bind 0.0.0.0:8000 \ | ||
--workers 3 & | ||
celery -A dojo worker -l info --concurrency 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
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 | ||
3GxKNfArkd2PJiPG5dVN03SFMg0IEQFH | ||
-----END PRIVATE KEY----- |
Oops, something went wrong.