Skip to content

Instantly share code, notes, and snippets.

@adon90
Last active February 25, 2021 12:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adon90/57cfed07128509c1d381e3894beccb9e to your computer and use it in GitHub Desktop.
Save adon90/57cfed07128509c1d381e3894beccb9e to your computer and use it in GitHub Desktop.
defect-dojo
---
version: '3.7'
services:
nginx:
build:
context: ./
dockerfile: Dockerfile.nginx
image: defectdojo/defectdojo-nginx:${NGINX_VERSION:-latest}
depends_on:
- uwsgi
volumes:
- /home/ubuntu/Documents/django-DefectDojo/media/:/usr/share/nginx/html/media
- /home/ubuntu/Documents/django-DefectDojo/media/CACHE:/usr/share/nginx/html/media/CACHE
environment:
NGINX_METRICS_ENABLED: ${NGINX_METRICS_ENABLED:-false}
ports:
- target: 8080
published: ${DD_PORT:-8080}
protocol: tcp
mode: host
- target: 8443
published: ${DD_TLS_PORT:-8443}
protocol: tcp
mode: host
uwsgi:
build:
context: ./
dockerfile: Dockerfile.django
image: defectdojo/defectdojo-django:${DJANGO_VERSION:-latest}
depends_on:
- mysql
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-uwsgi.sh']
environment:
DD_DEBUG: 'True'
DD_DJANGO_METRICS_ENABLED: ${DD_DJANGO_METRICS_ENABLED:-False}
DD_ALLOWED_HOSTS: ${DD_ALLOWED_HOSTS:-*}
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_CELERY_BROKER_USER: ${DD_CELERY_BROKER_USER:-guest}
DD_CELERY_BROKER_PASSWORD: ${DD_CELERY_BROKER_USER:-guest}
DD_SECRET_KEY: ${DD_SECRET_KEY:-REDACTED}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-REDACTED}
volumes:
- type: bind
source: ./docker/extra_settings
target: /app/docker/extra_settings
- /home/ubuntu/Documents/django-DefectDojo/media/finding_images/:/app/media/finding_images/
- /home/ubuntu/Documents/django-DefectDojo/media/uploaded_files/:/app/media/uploaded_files/
- /home/ubuntu/Documents/django-DefectDojo/media/CACHE/images/finding_images/:/app/media/CACHE/images/finding_images/
celerybeat:
image: defectdojo/defectdojo-django:latest
depends_on:
- mysql
- rabbitmq
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-celery-beat.sh']
environment:
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_CELERY_BROKER_USER: ${DD_CELERY_BROKER_USER:-guest}
DD_CELERY_BROKER_PASSWORD: ${DD_CELERY_BROKER_USER:-guest}
DD_SECRET_KEY: ${DD_SECRET_KEY:-REDACTED}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-REDACTED}
volumes:
- type: bind
source: ./docker/extra_settings
target: /app/docker/extra_settings
celeryworker:
image: defectdojo/defectdojo-django:latest
depends_on:
- mysql
- rabbitmq
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-celery-worker.sh']
environment:
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_CELERY_BROKER_USER: ${DD_CELERY_BROKER_USER:-guest}
DD_CELERY_BROKER_PASSWORD: ${DD_CELERY_BROKER_USER:-guest}
DD_SECRET_KEY: ${DD_SECRET_KEY:-REDACTED}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-REDACTED}
volumes:
- type: bind
source: ./docker/extra_settings
target: /app/docker/extra_settings
initializer:
image: defectdojo/defectdojo-django:latest
depends_on:
- mysql
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '--', '/entrypoint-initializer.sh']
environment:
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_ADMIN_USER: ${DD_ADMIN_USER:-admin}
DD_ADMIN_MAIL: ${DD_ADMIN_USER:-admin@defectdojo.local}
DD_ADMIN_FIRST_NAME: ${DD_ADMIN_FIRST_NAME:-Admin}
DD_ADMIN_LAST_NAME: ${DD_ADMIN_LAST_NAME:-User}
DD_INITIALIZE: ${DD_INITIALIZE:-true}
DD_SECRET_KEY: ${DD_SECRET_KEY:-REDACTED}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
volumes:
- type: bind
source: ./docker/extra_settings
target: /app/docker/extra_settings
mysql:
image: mysql:5.7.33@sha256:45ad5952e4f304d39aedb02caf7e0afc30a310e66f7ab60af8acf20fd4a0f54c
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
MYSQL_USER: ${DD_DATABASE_USER:-defectdojo}
MYSQL_PASSWORD: ${DD_DATABASE_PASSWORD:-defectdojo}
MYSQL_DATABASE: ${DD_DATABASE_NAME:-defectdojo}
command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
volumes:
- defectdojo_data:/var/lib/mysql
rabbitmq:
image: rabbitmq:3.8.11@sha256:5bc47a968799b7b8ff60f949a12957b9fdf445bbb29295c3986b7b11a9e5ea58
volumes:
defectdojo_data: {}
@adon90
Copy link
Author

adon90 commented Feb 17, 2021

Solve error 403:

chown -R 1001:1001 media/

Solve error 404:

nginx/nginx.conf

location /media {
        alias /usr/share/nginx/html/media;
        #alias /usr/share/nginx/media;

    } 

Solve error 500:

In case is looking for an image leftover:

echo " " > media/uploaded_files/a640ea9a-f2ca-4afc-a645-1bb2e1ee3394.png
chown -R 1001:1001 media/uploaded_files/a640ea9a-f2ca-4afc-a645-1bb2e1ee3394.png

Another tips:

chmod g+s /opt/dojo/media /opt/dojo/media/CACHE /opt/dojo/media/finding_images

Dockerfile.django -> ARG uid = 1001 maybe change to 0

Debug Django: DD_DEBUG: 'True' in docker-compose.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment