2
2
# Maintained by Bill Jones
3
3
4
4
# Start from Alpine Linux for smaller footprint
5
- FROM alpine:3.12.0
5
+ FROM alpine:latest
6
6
7
7
# Environmental Items
8
- ENV NODE_VERSION=14.17 .0 \
9
- TYPESCRIPT_VERSION=4.0 .2 \
10
- PUPPETEER_VERSION=5 .2.1 \
8
+ ENV NODE_VERSION=20.14 .0 \
9
+ TYPESCRIPT_VERSION=10.9 .2 \
10
+ PUPPETEER_VERSION=23 .2.0 \
11
11
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
12
12
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
13
13
14
14
# View template at https://github.com/nodejs/docker-node/blob/master/Dockerfile-alpine.template
15
15
# Setup Bulwark Container User
16
- RUN addgroup -S bulwark && adduser -S bulwark -G bulwark
16
+ RUN addgroup -S bulwark && adduser -S bulwark -G bulwark -s /bin/sh -D bulwark
17
17
18
18
# Update Image
19
19
RUN apk upgrade --no-cache -U
20
20
21
21
# Install Required Packages to Build NodeJS and Puppeter Items
22
- RUN apk add --no-cache curl make gcc g++ python3 linux-headers binutils-gold gnupg libstdc++ chromium \
22
+ RUN apk add --no-cache --virtual .build-deps-full curl make gcc g++ python3 linux-headers binutils-gold gnupg libstdc++ chromium \
23
23
fontconfig udev ttf-freefont fontconfig pango-dev libxcursor libxdamage cups-libs dbus-libs libxrandr \
24
- libxscrnsaver libc6-compat nss freetype freetype-dev harfbuzz ca-certificates
24
+ libxscrnsaver libc6-compat nss freetype freetype-dev harfbuzz ca-certificates libgcc py-setuptools
25
25
26
26
# Ingest the GPG Keys from https://github.com/nodejs/node#release-keys
27
- RUN for server in pool.sks-keyservers.net keyserver.pgp.com ha.pool.sks-keyservers.net; do \
27
+ RUN for server in keys.openpgp.org pool.sks-keyservers.net keyserver.pgp.com ha.pool.sks-keyservers.net; do \
28
28
gpg --keyserver $server --recv-keys \
29
29
4ED778F539E3634C779C87C6D7062848A1AB005C \
30
- 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
31
- 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
30
+ 141F07595B7B3FFE74309A937405533BE57C7D57 \
31
+ 74F12602B6F1C4E913FAA37AD3A89613643B6201 \
32
+ DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
33
+ CC68F5A3106FF448322E48ED27F5E38D5B0A215F \
32
34
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
33
- C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
35
+ 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 \
34
36
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
35
- DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
36
- A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
37
37
108F52B48DB57BB0CC439B2997B01419BD92F80A \
38
- B9E2F5981AA6E0CD28160D9FF13993A75599653C && break; \
38
+ A363A499291CBBC940DD62E41F10027AF002F8B0 && break; \
39
39
done
40
40
41
41
# Perform nodejs installation
@@ -50,16 +50,15 @@ RUN curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE
50
50
&& ./configure \
51
51
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
52
52
&& make install \
53
+ && apk del .build-deps-full \
53
54
&& cd .. \
54
55
&& rm -Rf "node-v$NODE_VERSION" \
55
- && rm "node-v$NODE_VERSION.tar.gz" SHASUMS256.txt.sig SHASUMS256.txt
56
-
56
+ && rm "node-v$NODE_VERSION.tar.gz" SHASUMS256.txt.sig SHASUMS256.txt \
57
57
# Cleanup
58
58
RUN rm -f "node-v$NODE_VERSION" \
59
59
# smoke tests
60
60
&& node --version \
61
- && npm --version
62
-
61
+ && npm --version \
63
62
# Setup for launch control of Bulwark
64
63
WORKDIR /
65
64
COPY bulwark-entrypoint /usr/local/bin/
0 commit comments