Created
November 22, 2022 00:28
-
-
Save SeanWrightSec/bfee677d5b8e6160e9dca1d34fa5c4fe to your computer and use it in GitHub Desktop.
OWASP Dependency Track - full docker-compose stack
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
version: '3.7' | |
##################################################### | |
# This Docker Compose file contains two services | |
# Dependency-Track API Server | |
# Dependency-Track FrontEnd | |
# | |
# | |
# Oringial docker-compose.yml avaialble at: | |
# https://docs.dependencytrack.org/getting-started/deploy-docker/ | |
##################################################### | |
volumes: | |
dependency-track: | |
dtrack-postgres: | |
services: | |
dtrack-apiserver: | |
image: dependencytrack/apiserver | |
depends_on: | |
- dtrack-postgres | |
environment: | |
# The Dependency-Track container can be configured using any of the | |
# available configuration properties defined in: | |
# https://docs.dependencytrack.org/getting-started/configuration/ | |
# All properties are upper case with periods replaced by underscores. | |
# | |
# Database Properties | |
- ALPINE_DATABASE_MODE=external | |
- ALPINE_DATABASE_URL=jdbc:postgresql://dtrack-postgres:5432/dtrack | |
- ALPINE_DATABASE_DRIVER=org.postgresql.Driver | |
- ALPINE_DATABASE_USERNAME=dtrack | |
- ALPINE_DATABASE_PASSWORD=dtrack | |
# - ALPINE_DATABASE_POOL_ENABLED=true | |
# - ALPINE_DATABASE_POOL_MAX_SIZE=20 | |
# - ALPINE_DATABASE_POOL_MIN_IDLE=10 | |
# - ALPINE_DATABASE_POOL_IDLE_TIMEOUT=300000 | |
# - ALPINE_DATABASE_POOL_MAX_LIFETIME=600000 | |
# | |
# Optional LDAP Properties | |
# - ALPINE_LDAP_ENABLED=true | |
# - ALPINE_LDAP_SERVER_URL=ldap://ldap.example.com:389 | |
# - ALPINE_LDAP_BASEDN=dc=example,dc=com | |
# - ALPINE_LDAP_SECURITY_AUTH=simple | |
# - ALPINE_LDAP_BIND_USERNAME= | |
# - ALPINE_LDAP_BIND_PASSWORD= | |
# - ALPINE_LDAP_AUTH_USERNAME_FORMAT=%s@example.com | |
# - ALPINE_LDAP_ATTRIBUTE_NAME=userPrincipalName | |
# - ALPINE_LDAP_ATTRIBUTE_MAIL=mail | |
# - ALPINE_LDAP_GROUPS_FILTER=(&(objectClass=group)(objectCategory=Group)) | |
# - ALPINE_LDAP_USER_GROUPS_FILTER=(member:1.2.840.113556.1.4.1941:={USER_DN}) | |
# - ALPINE_LDAP_GROUPS_SEARCH_FILTER=(&(objectClass=group)(objectCategory=Group)(cn=*{SEARCH_TERM}*)) | |
# - ALPINE_LDAP_USERS_SEARCH_FILTER=(&(objectClass=user)(objectCategory=Person)(cn=*{SEARCH_TERM}*)) | |
# - ALPINE_LDAP_USER_PROVISIONING=false | |
# - ALPINE_LDAP_TEAM_SYNCHRONIZATION=false | |
# | |
# Optional OpenID Connect (OIDC) Properties | |
# - ALPINE_OIDC_ENABLED=true | |
# - ALPINE_OIDC_ISSUER=https://auth.example.com/auth/realms/example | |
# - ALPINE_OIDC_USERNAME_CLAIM=preferred_username | |
# - ALPINE_OIDC_TEAMS_CLAIM=groups | |
# - ALPINE_OIDC_USER_PROVISIONING=true | |
# - ALPINE_OIDC_TEAM_SYNCHRONIZATION=true | |
# | |
# Optional HTTP Proxy Settings | |
# - ALPINE_HTTP_PROXY_ADDRESS=proxy.example.com | |
# - ALPINE_HTTP_PROXY_PORT=8888 | |
# - ALPINE_HTTP_PROXY_USERNAME= | |
# - ALPINE_HTTP_PROXY_PASSWORD= | |
# - ALPINE_NO_PROXY= | |
# | |
# Optional HTTP Outbound Connection Timeout Settings. All values are in seconds. | |
# - ALPINE_HTTP_TIMEOUT_CONNECTION=30 | |
# - ALPINE_HTTP_TIMEOUT_SOCKET=30 | |
# - ALPINE_HTTP_TIMEOUT_POOL=60 | |
# | |
# Optional Cross-Origin Resource Sharing (CORS) Headers | |
# - ALPINE_CORS_ENABLED=true | |
# - ALPINE_CORS_ALLOW_ORIGIN=* | |
# - ALPINE_CORS_ALLOW_METHODS=GET, POST, PUT, DELETE, OPTIONS | |
# - ALPINE_CORS_ALLOW_HEADERS=Origin, Content-Type, Authorization, X-Requested-With, Content-Length, Accept, Origin, X-Api-Key, X-Total-Count, * | |
# - ALPINE_CORS_EXPOSE_HEADERS=Origin, Content-Type, Authorization, X-Requested-With, Content-Length, Accept, Origin, X-Api-Key, X-Total-Count | |
# - ALPINE_CORS_ALLOW_CREDENTIALS=true | |
# - ALPINE_CORS_MAX_AGE=3600 | |
# | |
# Optional metrics properties | |
# - ALPINE_METRICS_ENABLED=true | |
# - ALPINE_METRICS_AUTH_USERNAME= | |
# - ALPINE_METRICS_AUTH_PASSWORD= | |
# | |
# Optional environmental variables to enable default notification publisher templates override and set the base directory to search for templates | |
# - DEFAULT_TEMPLATES_OVERRIDE_ENABLED=false | |
# - DEFAULT_TEMPLATES_OVERRIDE_BASE_DIRECTORY=/data | |
deploy: | |
resources: | |
limits: | |
memory: 12288m | |
reservations: | |
memory: 8192m | |
restart_policy: | |
condition: on-failure | |
ports: | |
- '8081:8080' | |
volumes: | |
# Optional volume mount to override default notification publisher templates | |
# - "/host/path/to/template/base/dir:/data/templates" | |
- 'dependency-track:/data' | |
restart: unless-stopped | |
dtrack-frontend: | |
image: dependencytrack/frontend | |
depends_on: | |
- dtrack-apiserver | |
environment: | |
# The base URL of the API server. | |
# NOTE: | |
# * This URL must be reachable by the browsers of your users. | |
# * The frontend container itself does NOT communicate with the API server directly, it just serves static files. | |
# * When deploying to dedicated servers, please use the external IP or domain of the API server. | |
- API_BASE_URL=http://localhost:8081 | |
# - "OIDC_ISSUER=" | |
# - "OIDC_CLIENT_ID=" | |
# - "OIDC_SCOPE=" | |
# - "OIDC_FLOW=" | |
# - "OIDC_LOGIN_BUTTON_TEXT=" | |
# volumes: | |
# - "/host/path/to/config.json:/app/static/config.json" | |
ports: | |
- "8080:8080" | |
restart: unless-stopped | |
dtrack-postgres: | |
image: postgres:15.1-bullseye | |
restart: always | |
environment: | |
- POSTGRES_PASSWORD=dtrack | |
- POSTGRES_USER=dtrack | |
- POSTGRES_DB=dtrack | |
volumes: | |
- dtrack-postgres:/var/lib/postgresql/data |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment