51 lines
1.2 KiB
Docker
51 lines
1.2 KiB
Docker
FROM python:3.12.10-alpine3.22
|
|
|
|
ENV DTRACK_API_URL=""
|
|
ENV DTRACK_TOKEN=""
|
|
ENV DEFECTDOJO_URL=""
|
|
ENV DEFECTDOJO_TOKEN=""
|
|
|
|
ARG APP_DIR=/opt/app
|
|
ARG ADDITIONAL_CA_URL="x"
|
|
ARG ADDITIONAL_CA_CHECKSUM="y"
|
|
|
|
RUN \
|
|
set -e &&\
|
|
apk add --no-cache syft &&\
|
|
adduser -s /bin/sh -D user &&\
|
|
mkdir -p $APP_DIR &&\
|
|
chown user:user $APP_DIR &&\
|
|
echo $ADDITIONAL_CA_URL &&\
|
|
echo $ADDITIONAL_CA_CHECKSUM &&\
|
|
if [ "$ADDITIONAL_CA_URL" != "x" ]; then \
|
|
cd /usr/local/share/ca-certificates; \
|
|
wget --no-check-certificate -O custom-ca.crt $ADDITIONAL_CA_URL; \
|
|
echo "$ADDITIONAL_CA_CHECKSUM custom-ca.crt" | md5sum -c; \
|
|
/usr/sbin/update-ca-certificates; \
|
|
echo "custom ca added"; \
|
|
else \
|
|
echo "no additional ca"; \
|
|
fi
|
|
|
|
USER user
|
|
WORKDIR $APP_DIR
|
|
|
|
COPY src/requirements.txt .
|
|
COPY src/sbom-dt-dd.py .
|
|
COPY src/converter.py .
|
|
COPY src/entrypoint.sh .
|
|
COPY dependencytrack-client/ ./dependencytrack-client
|
|
COPY defectdojo-client/ ./defectdojo-client
|
|
|
|
RUN \
|
|
python -m venv .venv &&\
|
|
. ./.venv/bin/activate &&\
|
|
pip install -r requirements.txt &&\
|
|
pip install -r dependencytrack-client/requirements.txt &&\
|
|
pip install -r defectdojo-client/requirements.txt
|
|
|
|
ENTRYPOINT [ "./entrypoint.sh" ]
|
|
|
|
|
|
|