1
- FROM debian:bullseye-slim
1
+ FROM debian:bookworm-slim
2
+
3
+ ENV RC_VERSION 7.1.0
2
4
3
5
# # Installing Node.js
4
6
ENV NODE_ENV production
5
- ENV NODE_VERSION 14.21.3
7
+ ENV NODE_VERSION 20.18.0
6
8
7
- # Node installation based on https://github.com/nodejs/docker-node/blob/66b46292a6e5dd5856b1d5204dc51547c80eb17a/12/buster-slim/Dockerfile
8
- RUN ARCH="x64" \
9
- && set -eux \
10
- && apt-get update && apt-get install -y --no-install-recommends ca-certificates curl wget gnupg dirmngr xz-utils \
11
- && rm -rf /var/lib/apt/lists/* \
9
+ # Node installation based on https://github.com/nodejs/docker-node/blob/8483b3edd9cc2a38360d88d360e3093d657ac3fe/20/bookworm/Dockerfile
10
+ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
11
+ && case "${dpkgArch##*-}" in \
12
+ amd64) ARCH='x64' ;; \
13
+ ppc64el) ARCH='ppc64le' ;; \
14
+ s390x) ARCH='s390x' ;; \
15
+ arm64) ARCH='arm64' ;; \
16
+ armhf) ARCH='armv7l' ;; \
17
+ i386) ARCH='x86' ;; \
18
+ *) echo "unsupported architecture" ; exit 1 ;; \
19
+ esac \
20
+ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150
21
+ && export GNUPGHOME="$(mktemp -d)" \
22
+ && set -ex \
23
+ && apt-get update && apt-get install -y --no-install-recommends ca-certificates curl wget gnupg dirmngr xz-utils && rm -rf /var/lib/apt/lists/* \
24
+ # gpg keys listed at https://github.com/nodejs/node#release-keys
12
25
&& for key in \
13
- 4ED778F539E3634C779C87C6D7062848A1AB005C \
14
- 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
15
- 74F12602B6F1C4E913FAA37AD3A89613643B6201 \
16
- 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
17
- 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
18
- C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
19
- C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
20
- DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
21
- A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
22
- 108F52B48DB57BB0CC439B2997B01419BD92F80A \
23
- B9E2F5981AA6E0CD28160D9FF13993A75599653C \
26
+ 4ED778F539E3634C779C87C6D7062848A1AB005C \
27
+ 141F07595B7B3FFE74309A937405533BE57C7D57 \
28
+ 74F12602B6F1C4E913FAA37AD3A89613643B6201 \
29
+ DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
30
+ CC68F5A3106FF448322E48ED27F5E38D5B0A215F \
31
+ 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
32
+ 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 \
33
+ C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
34
+ 108F52B48DB57BB0CC439B2997B01419BD92F80A \
35
+ A363A499291CBBC940DD62E41F10027AF002F8B0 \
24
36
; do \
25
- gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
26
- gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
37
+ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
38
+ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
27
39
done \
28
40
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
29
41
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
30
42
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
43
+ && gpgconf --kill all \
44
+ && rm -rf "$GNUPGHOME" \
31
45
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$ " SHASUMS256.txt | sha256sum -c - \
32
46
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
33
47
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
48
+ && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
49
+ # smoke tests
50
+ && node --version \
51
+ && npm --version \
52
+ && apt-mark auto '.*' > /dev/null \
53
+ && find /usr/local -type f -executable -exec ldd '{}' ';' \
54
+ | awk '/=>/ { print $(NF-1) }' \
55
+ | sort -u \
56
+ | xargs -r dpkg-query --search \
57
+ | cut -d: -f1 \
58
+ | sort -u \
59
+ | xargs -r apt-mark manual \
60
+ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
61
+
62
+ ENV DENO_VERSION=1.37.1
63
+
64
+ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
65
+ && case "${dpkgArch##*-}" in \
66
+ amd64) ARCH='x86_64' ;; \
67
+ arm64) ARCH='aarch64' ;; \
68
+ *) echo "unsupported Deno architecture" ; exit 1 ;; \
69
+ esac \
70
+ && set -ex \
71
+ && apt-get update && apt-get install -y --no-install-recommends ca-certificates curl unzip && rm -rf /var/lib/apt/lists/* \
72
+ && curl -fsSL https://dl.deno.land/release/v${DENO_VERSION}/deno-${ARCH}-unknown-linux-gnu.zip \
73
+ --output /tmp/deno.zip \
74
+ && unzip /tmp/deno.zip -d /tmp \
75
+ && rm /tmp/deno.zip \
76
+ && chmod 755 /tmp/deno \
77
+ && mv /tmp/deno /usr/local/bin/deno \
34
78
&& apt-mark auto '.*' > /dev/null \
35
79
&& find /usr/local -type f -executable -exec ldd '{}' ';' \
36
80
| awk '/=>/ { print $(NF-1) }' \
@@ -48,8 +92,6 @@ RUN groupadd -r rocketchat \
48
92
49
93
VOLUME /app/uploads
50
94
51
- ENV RC_VERSION 6.8.7
52
-
53
95
WORKDIR /app
54
96
55
97
RUN set -eux \
@@ -89,8 +131,7 @@ ENV DEPLOY_METHOD=docker-official \
89
131
MONGO_URL=mongodb://db:27017/meteor \
90
132
HOME=/tmp \
91
133
PORT=3000 \
92
- ROOT_URL=http://localhost:3000 \
93
- Accounts_AvatarStorePath=/app/uploads
134
+ ROOT_URL=http://localhost:3000
94
135
95
136
EXPOSE 3000
96
137
0 commit comments