1
- ARG DENO_VERSION="1.37.1"
2
-
3
- FROM denoland/deno:bin-${DENO_VERSION} as deno
4
-
5
- FROM node:14.21.3-alpine3.16
1
+ FROM node:20.15.1-alpine3.20
6
2
7
3
LABEL maintainer="
[email protected] "
8
4
9
5
ENV LANG=C.UTF-8
10
6
11
- ## Alpine 3.16 does not have a deno package, but newer versions have it
12
- ## So as soon as we can update the Alpine version, we can replace the following
13
- ## GLIBC installation part by an `apk add deno`
14
-
15
- # Installing glibc deps required by Deno
16
- # This replaces libc6-compat
17
- # Copied from https://github.com/Docker-Hub-frolvlad/docker-alpine-glibc, which denoland/deno:alpine-1.37.1 uses
18
- # NOTE: Glibc 2.35 package is broken: https://github.com/sgerrand/alpine-pkg-glibc/issues/176, so we stick to 2.34 for now
19
- RUN ALPINE_GLIBC_BASE_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" && \
20
- ALPINE_GLIBC_PACKAGE_VERSION="2.34-r0" && \
21
- ALPINE_GLIBC_BASE_PACKAGE_FILENAME="glibc-$ALPINE_GLIBC_PACKAGE_VERSION.apk" && \
22
- ALPINE_GLIBC_BIN_PACKAGE_FILENAME="glibc-bin-$ALPINE_GLIBC_PACKAGE_VERSION.apk" && \
23
- ALPINE_GLIBC_I18N_PACKAGE_FILENAME="glibc-i18n-$ALPINE_GLIBC_PACKAGE_VERSION.apk" && \
24
- apk add --no-cache --virtual=.build-dependencies wget ca-certificates ttf-dejavu && \
25
- echo \
26
- "-----BEGIN PUBLIC KEY-----\
27
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApZ2u1KJKUu/fW4A25y9m\
28
- y70AGEa/J3Wi5ibNVGNn1gT1r0VfgeWd0pUybS4UmcHdiNzxJPgoWQhV2SSW1JYu\
29
- tOqKZF5QSN6X937PTUpNBjUvLtTQ1ve1fp39uf/lEXPpFpOPL88LKnDBgbh7wkCp\
30
- m2KzLVGChf83MS0ShL6G9EQIAUxLm99VpgRjwqTQ/KfzGtpke1wqws4au0Ab4qPY\
31
- KXvMLSPLUp7cfulWvhmZSegr5AdhNw5KNizPqCJT8ZrGvgHypXyiFvvAH5YRtSsc\
32
- Zvo9GI2e2MaZyo9/lvb+LbLEJZKEQckqRj4P26gmASrZEPStwc+yqy1ShHLA0j6m\
33
- 1QIDAQAB\
34
- -----END PUBLIC KEY-----" | sed 's/ */\n/g' > "/etc/apk/keys/sgerrand.rsa.pub" && \
35
- wget \
36
- "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
37
- "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
38
- "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" && \
39
- mv /etc/nsswitch.conf /etc/nsswitch.conf.bak && \
40
- apk add --no-cache --force-overwrite \
41
- "$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
42
- "$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
43
- "$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" && \
44
- \
45
- mv /etc/nsswitch.conf.bak /etc/nsswitch.conf && \
46
- rm "/etc/apk/keys/sgerrand.rsa.pub" && \
47
- (/usr/glibc-compat/bin/localedef --force --inputfile POSIX --charmap UTF-8 "$LANG" || true) && \
48
- echo "export LANG=$LANG" > /etc/profile.d/locale.sh && \
49
- \
50
- apk del glibc-i18n && \
51
- \
52
- rm "/root/.wget-hsts" && \
53
- apk del .build-dependencies && \
54
- rm \
55
- "$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
56
- "$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
57
- "$ALPINE_GLIBC_I18N_PACKAGE_FILENAME"
58
-
59
- COPY --from=deno /deno /bin/deno
7
+ RUN apk add --no-cache deno ttf-dejavu
60
8
61
9
ADD . /app
62
10
@@ -70,19 +18,19 @@ ENV DEPLOY_METHOD=docker \
70
18
Accounts_AvatarStorePath=/app/uploads
71
19
72
20
RUN set -x \
73
- && apk add --no-cache --virtual .fetch-deps python3 make g++ \
21
+ && apk add --no-cache --virtual .fetch-deps python3 make g++ py3-setuptools libc6-compat \
74
22
&& cd /app/bundle/programs/server \
75
23
&& npm install --omit=dev --unsafe-perm \
76
24
# Start hack for sharp...
77
25
&& rm -rf npm/node_modules/sharp \
78
26
&& npm install
[email protected] \
79
27
&& mv node_modules/sharp npm/node_modules/sharp \
80
28
# End hack for sharp
81
- # Start hack for isolated-vm...
82
- && rm -rf npm/node_modules/isolated-vm \
83
- && npm install isolated-vm@4.4.2 \
84
- && mv node_modules/isolated-vm npm/node_modules/isolated-vm \
85
- # End hack for isolated-vm
29
+ # # Start hack for isolated-vm...
30
+ # && rm -rf npm/node_modules/isolated-vm \
31
+ # && npm install isolated-vm@4.6.0 \
32
+ # && mv node_modules/isolated-vm npm/node_modules/isolated-vm \
33
+ # # End hack for isolated-vm
86
34
&& cd /app/bundle/programs/server/npm \
87
35
&& npm rebuild bcrypt --build-from-source \
88
36
&& npm cache clear --force \
0 commit comments