dependency-track/dev/docker-compose.yml
nscuro 554064c6f2
Switch to G1GC and limit default Docker Compose memory to 4GB
Switches from Parallel to the G1 garbage collector. It has been used successfully in Hyades API server and tends to not let the heap grow as much as Parallel GC.

Also configure the default Docker Compose file to limit the API server's memory to 4GB. Since we configure the container with `MaxRAMPercentage=80.0`, the JVM can potentially use up to 80% of available memory for heap size alone. This could lead to seemingly excessive memory usage even though most of the claimed memory is not actually needed.

Signed-off-by: nscuro <nscuro@protonmail.com>
2026-02-07 19:23:54 +01:00

45 lines
1.3 KiB
YAML

# This file is part of Dependency-Track.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) OWASP Foundation. All Rights Reserved.
name: "dependency-track"
services:
apiserver:
image: dependencytrack/apiserver:snapshot-alpine
environment:
# Speed up password hashing for faster initial login (default is 14 rounds).
ALPINE_BCRYPT_ROUNDS: "4"
TELEMETRY_SUBMISSION_ENABLED_DEFAULT: "false"
deploy:
resources:
limits:
memory: 2g
ports:
- "127.0.0.1:8080:8080"
volumes:
- "apiserver-data:/data"
restart: unless-stopped
frontend:
image: dependencytrack/frontend:snapshot
environment:
API_BASE_URL: "http://localhost:8080"
ports:
- "127.0.0.1:8081:8080"
restart: unless-stopped
volumes:
apiserver-data: { }