Skip to content

Commit 13e3daa

Browse files
committed
Alpine node 20 and 24 image
Signed-off-by: Prabhu Subramanian <[email protected]>
1 parent 929c926 commit 13e3daa

12 files changed

+118
-19
lines changed

.github/workflows/build-images.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,10 @@ jobs:
187187

188188
- lang: ruby344
189189
distro: alpine
190+
- lang: node20
191+
distro: alpine
192+
- lang: node24
193+
distro: alpine
190194

191195
- lang: rust1
192196
distro: debian

ci/images/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ Below table summarizes all available container image versions. These images incl
1414
| Java | 8 | ghcr.io/cyclonedx/cdxgen-temurin-java8:v11 | Java 8 version. |
1515
| Java | 11 | ghcr.io/cyclonedx/cdxgen-java11-slim:v11, ghcr.io/cyclonedx/cdxgen-java11:v11 | Java 11 version. |
1616
| Java | 17 | ghcr.io/cyclonedx/cdxgen-java17-slim:v11, ghcr.io/cyclonedx/cdxgen-java17:v11 | Java 17 version. |
17-
| Java | 21 | ghcr.io/cyclonedx/cdxgen-temurin-java21:v11, ghcr.io/cyclonedx/cdxgen-alpine-java21:v11 | Java 21 version. |
18-
| Java | 24 | ghcr.io/cyclonedx/cdxgen-temurin-java24:v11, ghcr.io/cyclonedx/cdxgen-alpine-java24:v11 | Java 24 version. |
17+
| Java | 21 | ghcr.io/cyclonedx/cdxgen-temurin-java21:v11, ghcr.io/cyclonedx/cdxgen-alpine-java21:v11 | Java 21 version. |
18+
| Java | 24 | ghcr.io/cyclonedx/cdxgen-temurin-java24:v11, ghcr.io/cyclonedx/cdxgen-alpine-java24:v11 | Java 24 version. |
1919
| Dotnet | .Net Framework 4.6 - 4.8 | ghcr.io/cyclonedx/cdxgen-debian-dotnet6:v11 | .Net Framework |
2020
| Dotnet | .Net Core 2.1, 3.1, .Net 5.0 | ghcr.io/cyclonedx/cdxgen-debian-dotnet6:v11 | Invoke with --platform=linux/amd64 for better compatibility. |
2121
| Dotnet | .Net 6 | ghcr.io/cyclonedx/cdxgen-debian-dotnet6:v11 | .Net 6 |
@@ -24,20 +24,20 @@ Below table summarizes all available container image versions. These images incl
2424
| Dotnet | .Net 9 | ghcr.io/cyclonedx/cdxgen-debian-dotnet9:v11, ghcr.io/cyclonedx/cdxgen-alpine-dotnet9:v11, ghcr.io/cyclonedx/cdxgen-dotnet9:v11 (amd64 only) | .Net 9 |
2525
| Dotnet | .Net 10 | ghcr.io/cyclonedx/cdxgen-debian-dotnet10:v11 | This is a preview image of .Net 10 |
2626
| php | 8.3 | ghcr.io/cyclonedx/cdxgen-debian-php83:v11 | php 8.3 |
27-
| php | 8.4 | ghcr.io/cyclonedx/cdxgen-debian-php84:v11, ghcr.io/cyclonedx/cdxgen-alpine-php84:v11 | php 8.4 |
27+
| php | 8.4 | ghcr.io/cyclonedx/cdxgen-debian-php84:v11, ghcr.io/cyclonedx/cdxgen-alpine-php84:v11 | php 8.4 |
2828
| Python | 3.6 | ghcr.io/cyclonedx/cdxgen-python36:v11 | No dependency tree |
2929
| Python | 3.9 | ghcr.io/cyclonedx/cdxgen-python39:v11 | |
3030
| Python | 3.10 | ghcr.io/cyclonedx/cdxgen-python310:v11 | |
3131
| Python | 3.11 | ghcr.io/cyclonedx/cdxgen-python311:v11 | |
3232
| Python | 3.12 | ghcr.io/cyclonedx/cdxgen-python312:v11 | |
3333
| Python | 3.13 | ghcr.io/cyclonedx/cdxgen-python313:v11 | |
34-
| Node.js | 20 | ghcr.io/cyclonedx/cdxgen-node20:v11 | Use `--platform=linux/amd64` in case of `npm install` errors. |
35-
| Node.js | 23 | ghcr.io/cyclonedx/cdxgen:master | Supports automatic node installation. Example: Pass `-t node20` to install node 20. |
34+
| Node.js | 20 | ghcr.io/cyclonedx/cdxgen-node20:v11, ghcr.io/cyclonedx/cdxgen-alpine-node20:v11 | Use `--platform=linux/amd64` in case of `npm install` errors. |
35+
| Node.js | 24 | ghcr.io/cyclonedx/cdxgen:master, ghcr.io/cyclonedx/cdxgen-alpine-node24:v11 | |
3636
| Ruby | 3.3.6 | ghcr.io/cyclonedx/cdxgen-debian-ruby33:v11 | Supports automatic Ruby installation for 3.3.x. Example: Pass `-t ruby3.3.1` to install Ruby 3.3.1. |
3737
| Ruby | 3.4.x | ghcr.io/cyclonedx/cdxgen-debian-ruby34:v11 | Supports automatic Ruby installation for 3.4.x. Example: Pass `-t ruby3.4.0` to install Ruby 3.4.0. |
3838
| Ruby | 2.5.0 | ghcr.io/cyclonedx/cdxgen-ruby25:v11 | Supports automatic Ruby installation for 2.5.x. Example: Pass `-t ruby2.5.1` to install Ruby 2.5.1. |
3939
| Ruby | 2.6.10 | ghcr.io/cyclonedx/cdxgen-debian-ruby26:v11 | Supports automatic Ruby installation for 2.6.x. Example: Pass `-t ruby2.6.1` to install Ruby 2.6.1. |
40-
| Ruby | 3.4.4 | ghcr.io/cyclonedx/cdxgen-alpine-ruby344:v11 | Ruby 3.4.4 |
40+
| Ruby | 3.4.4 | ghcr.io/cyclonedx/cdxgen-alpine-ruby344:v11 | Ruby 3.4.4 |
4141
| Ruby | 1.8.x | ghcr.io/cyclonedx/debian-ruby18:master | Base image for `bundle install` only. No cdxgen equivalent with Ruby 1.8.x. `--deep` mode and research profile unsupported. |
4242
| Swift | 6.0.x | ghcr.io/cyclonedx/cdxgen-debian-swift:v11 | Swift 6 |
4343
| golang | 1.23 | ghcr.io/cyclonedx/cdxgen-debian-golang123:v11, ghcr.io/cyclonedx/cdxgen-alpine-golang123:v11 | Golang 1.23 |

ci/images/alpine/Dockerfile.dotnet9

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ RUN apk update && apk add --no-cache \
1111
&& npm -v \
1212
&& rm -rf /var/cache/apk/*
1313

14-
15-
1614
# cdxgen-image
1715
FROM base AS cdxgen
1816

ci/images/alpine/Dockerfile.golang123

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ RUN apk update && apk add --no-cache \
1111
&& npm -v \
1212
&& rm -rf /var/cache/apk/*
1313

14-
15-
1614
# cdxgen-image
1715
FROM base AS cdxgen
1816

ci/images/alpine/Dockerfile.golang124

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ RUN apk update && apk add --no-cache \
1111
&& npm -v \
1212
&& rm -rf /var/cache/apk/*
1313

14-
15-
1614
# cdxgen-image
1715
FROM base AS cdxgen
1816

ci/images/alpine/Dockerfile.java21

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ COPY . /opt/cdxgen
5454

5555
RUN cd /opt/cdxgen && corepack enable && corepack pnpm install --config.strict-dep-builds=true --prod --package-import-method copy --frozen-lockfile && corepack pnpm cache delete \
5656
&& npm uninstall -g corepack \
57-
&& apk del npm py3-pip py3-virtualenv gcc musl-dev make curl tar bash g++ \
57+
&& apk del npm python3-dev py3-pip py3-virtualenv gcc musl-dev make curl tar bash g++ \
5858
&& mkdir -p ${NODE_COMPILE_CACHE} \
5959
&& node /opt/cdxgen/bin/cdxgen.js --help \
6060
&& rm -rf /root/.cache/node \

ci/images/alpine/Dockerfile.java24

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ COPY . /opt/cdxgen
5454

5555
RUN cd /opt/cdxgen && corepack enable && corepack pnpm install --config.strict-dep-builds=true --prod --package-import-method copy --frozen-lockfile && corepack pnpm cache delete \
5656
&& npm uninstall -g corepack \
57-
&& apk del npm py3-pip py3-virtualenv gcc musl-dev make curl tar bash g++ \
57+
&& apk del npm python3-dev py3-pip py3-virtualenv gcc musl-dev make curl tar bash g++ \
5858
&& mkdir -p ${NODE_COMPILE_CACHE} \
5959
&& node /opt/cdxgen/bin/cdxgen.js --help \
6060
&& rm -rf /root/.cache/node \

ci/images/alpine/Dockerfile.node20

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Base-image
2+
FROM node:20-alpine AS base
3+
4+
ENV PATH=${PATH}:/usr/local/bin
5+
6+
RUN apk update && apk add --no-cache \
7+
make \
8+
python3 \
9+
python3-dev \
10+
py3-pip \
11+
py3-virtualenv \
12+
gcc \
13+
g++ \
14+
musl-dev \
15+
npm yarn openjdk21 \
16+
&& npm install -g npm corepack \
17+
&& node -v \
18+
&& npm -v \
19+
&& rm -rf /var/cache/apk/*
20+
21+
# cdxgen-image
22+
FROM base AS cdxgen
23+
24+
LABEL maintainer="CycloneDX" \
25+
org.opencontainers.image.authors="Team AppThreat <[email protected]>" \
26+
org.opencontainers.image.source="https://github.com/CycloneDX/cdxgen" \
27+
org.opencontainers.image.url="https://github.com/CycloneDX/cdxgen" \
28+
org.opencontainers.image.version="rolling" \
29+
org.opencontainers.image.vendor="CycloneDX" \
30+
org.opencontainers.image.licenses="Apache-2.0" \
31+
org.opencontainers.image.title="cdxgen" \
32+
org.opencontainers.image.description="Rolling image with cdxgen SBOM generator for node apps" \
33+
org.opencontainers.docker.cmd="docker run --rm -v /tmp:/tmp -p 9090:9090 -v $(pwd):/app:rw -t ghcr.io/cyclonedx/cdxgen-alpine-node20:v11 -r /app --server"
34+
35+
ENV CDXGEN_IN_CONTAINER=true \
36+
NODE_COMPILE_CACHE="/opt/cdxgen-node-cache" \
37+
PYTHONPATH=/opt/pypi \
38+
PATH=${PATH}:/usr/local/bin:/opt/cdxgen/node_modules/.bin:/opt/pypi/bin:
39+
40+
COPY . /opt/cdxgen
41+
42+
RUN cd /opt/cdxgen && corepack enable && corepack pnpm install --config.strict-dep-builds=true --prod --no-optional --package-import-method copy --frozen-lockfile && corepack pnpm cache delete \
43+
&& npm uninstall -g corepack \
44+
&& apk del npm python3-dev py3-pip py3-virtualenv gcc g++ musl-dev make \
45+
&& mkdir -p ${NODE_COMPILE_CACHE} \
46+
&& node /opt/cdxgen/bin/cdxgen.js --help \
47+
&& rm -rf /root/.cache/node \
48+
&& chmod a-w -R /opt
49+
WORKDIR /app
50+
ENTRYPOINT ["node", "/opt/cdxgen/bin/cdxgen.js"]

ci/images/alpine/Dockerfile.node24

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Base-image
2+
FROM node:24-alpine AS base
3+
4+
ENV PATH=${PATH}:/usr/local/bin
5+
6+
RUN apk update && apk add --no-cache \
7+
make \
8+
python3 \
9+
python3-dev \
10+
py3-pip \
11+
py3-virtualenv \
12+
gcc \
13+
g++ \
14+
musl-dev \
15+
npm yarn openjdk21 \
16+
&& npm install -g npm corepack \
17+
&& /usr/bin/python --version \
18+
&& /usr/bin/python -m pip install --no-cache-dir --upgrade atom-tools --target /opt/pypi \
19+
&& node -v \
20+
&& npm -v \
21+
&& rm -rf /var/cache/apk/*
22+
23+
# cdxgen-image
24+
FROM base AS cdxgen
25+
26+
LABEL maintainer="CycloneDX" \
27+
org.opencontainers.image.authors="Team AppThreat <[email protected]>" \
28+
org.opencontainers.image.source="https://github.com/CycloneDX/cdxgen" \
29+
org.opencontainers.image.url="https://github.com/CycloneDX/cdxgen" \
30+
org.opencontainers.image.version="rolling" \
31+
org.opencontainers.image.vendor="CycloneDX" \
32+
org.opencontainers.image.licenses="Apache-2.0" \
33+
org.opencontainers.image.title="cdxgen" \
34+
org.opencontainers.image.description="Rolling image with cdxgen SBOM generator for node apps" \
35+
org.opencontainers.docker.cmd="docker run --rm -v /tmp:/tmp -p 9090:9090 -v $(pwd):/app:rw -t ghcr.io/cyclonedx/cdxgen-alpine-node24:v11 -r /app --server"
36+
37+
ENV CDXGEN_IN_CONTAINER=true \
38+
NODE_COMPILE_CACHE="/opt/cdxgen-node-cache" \
39+
PYTHONPATH=/opt/pypi \
40+
PATH=${PATH}:/usr/local/bin:/opt/cdxgen/node_modules/.bin:/opt/pypi/bin:
41+
42+
COPY . /opt/cdxgen
43+
44+
RUN cd /opt/cdxgen && corepack enable && corepack pnpm install --config.strict-dep-builds=true --prod --no-optional --package-import-method copy --frozen-lockfile && corepack pnpm cache delete \
45+
&& npm uninstall -g corepack \
46+
&& apk del npm python3-dev py3-pip py3-virtualenv gcc g++ musl-dev make \
47+
&& mkdir -p ${NODE_COMPILE_CACHE} \
48+
&& node /opt/cdxgen/bin/cdxgen.js --help \
49+
&& rm -rf /root/.cache/node \
50+
&& chmod a-w -R /opt
51+
WORKDIR /app
52+
ENTRYPOINT ["node", "/opt/cdxgen/bin/cdxgen.js"]

ci/images/alpine/Dockerfile.php84

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ RUN apk update && apk add --no-cache \
3434
&& composer --version \
3535
&& rm -rf /var/cache/apk/*
3636

37-
3837
# cdxgen-image
3938
FROM base AS cdxgen
4039
LABEL maintainer="CycloneDX" \
@@ -57,9 +56,9 @@ ENV PATH=${PATH}:/usr/local/bin:${PYTHONPATH}/bin:/opt/cdxgen/node_modules/.bin
5756
COPY . /opt/cdxgen
5857

5958
RUN cd /opt/cdxgen && corepack enable && corepack pnpm install --config.strict-dep-builds=true --prod --package-import-method copy --frozen-lockfile && corepack pnpm cache delete \
60-
&& npm install -g --production @appthreat/[email protected] \
59+
&& npm install -g --omit=dev @appthreat/[email protected] \
6160
&& npm uninstall -g corepack \
62-
&& apk del npm py3-pip py3-virtualenv gcc musl-dev make curl tar bash g++ icu-dev oniguruma-dev libxml2-dev libzip-dev curl-dev \
61+
&& apk del npm python3-dev py3-pip py3-virtualenv gcc musl-dev make curl tar bash g++ icu-dev oniguruma-dev libxml2-dev libzip-dev curl-dev \
6362
autoconf pkgconf re2c \
6463
&& mkdir -p ${NODE_COMPILE_CACHE} \
6564
&& node /opt/cdxgen/bin/cdxgen.js --help \

0 commit comments

Comments
 (0)