Quick start¶
In this tutorial, we will get Dependency-Track running locally using Docker Compose and log in to the frontend for the first time.
What we need¶
Starting Dependency-Track¶
We download the Compose file and start the stack:
curl -O https://raw.githubusercontent.com/DependencyTrack/docs/main/docs/tutorials/docker-compose.quickstart.yml
docker compose -f docker-compose.quickstart.yml up
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/DependencyTrack/docs/main/docs/tutorials/docker-compose.quickstart.yml" -OutFile "docker-compose.quickstart.yml"
docker compose -f docker-compose.quickstart.yml up
This will pull the required images, initialize the database, and start all services.
Compose file contents
name: Dependency-Track
services:
apiserver:
image: ghcr.io/dependencytrack/hyades-apiserver:snapshot
depends_on:
postgres:
condition: service_healthy
deploy:
resources:
limits:
memory: 2g
environment:
DT_DATASOURCE_URL: "jdbc:postgresql://postgres:5432/dtrack"
DT_DATASOURCE_USERNAME: "dtrack"
DT_DATASOURCE_PASSWORD: "dtrack"
ports:
- "127.0.0.1:8080:8080"
volumes:
- "apiserver-data:/data"
restart: unless-stopped
frontend:
image: ghcr.io/dependencytrack/hyades-frontend:snapshot
environment:
API_BASE_URL: "http://localhost:8080"
ports:
- "127.0.0.1:8081:8080"
restart: unless-stopped
postgres:
image: postgres:18-alpine
environment:
POSTGRES_DB: "dtrack"
POSTGRES_USER: "dtrack"
POSTGRES_PASSWORD: "dtrack"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 3s
retries: 3
volumes:
- "postgres-data:/var/lib/postgresql/data"
volumes:
apiserver-data: {}
postgres-data: {}
Logging in¶
Once the stack is up, we open the frontend at http://localhost:8081 and log in with the default credentials:
| Username | Password |
|---|---|
admin |
admin |
Note
Dependency-Track will ask us to change the password upon first login.
What's next¶
- Configuration: Customize the deployment
- Scaling: Scale for production workloads