@@ -9,13 +9,13 @@ RUN --mount=type=cache,target=/home/nonroot/.cache/pip,uid=65532,gid=65532 \
9
9
/home/nonroot/venv/bin/pip install setuptools
10
10
11
11
# Stage 1 - Create yarn install skeleton layer
12
- FROM cgr.dev/chainguard/wolfi-base@sha256:7afaeb1ffbc9c33c21b9ddbd96a80140df1a5fa95aed6411b210bcb404e75c11 AS packages
12
+ FROM cgr.dev/chainguard/wolfi-base@sha256:7afaeb1ffbc9c33c21b9ddbd96a80140df1a5fa95aed6411b210bcb404e75c11 as packages
13
13
14
14
WORKDIR /app
15
15
COPY package.json yarn.lock ./
16
16
COPY .yarn ./.yarn
17
17
COPY .yarnrc.yml ./
18
-
18
+ COPY backstage.json ./
19
19
20
20
COPY packages packages
21
21
@@ -44,7 +44,8 @@ USER nonroot
44
44
45
45
COPY --from=packages --chown=65532:65532 /app .
46
46
COPY --from=packages --chown=65532:65532 /app/.yarn ./.yarn
47
- COPY --from=packages --chown=65532:65532 /app/.yarnrc.yml ./
47
+ COPY --from=packages --chown=65532:65532 /app/.yarnrc.yml ./
48
+ COPY --from=packages --chown=65532:65532 /app/backstage.json ./
48
49
49
50
RUN --mount=type=cache,target=/home/nonroot/.yarn/berry/cache,sharing=locked,uid=65532,gid=65532 \
50
51
yarn install --immutable
@@ -61,7 +62,8 @@ RUN mkdir packages/backend/dist/skeleton packages/backend/dist/bundle \
61
62
62
63
FROM cgr.dev/chainguard/wolfi-base@sha256:7afaeb1ffbc9c33c21b9ddbd96a80140df1a5fa95aed6411b210bcb404e75c11 as node-builder
63
64
64
- ENV NODE_VERSION="18=~18.20"
65
+ ENV NODE_VERSION="20=~20.11"
66
+ ENV NODE_ENV=production
65
67
66
68
RUN --mount=type=cache,target=/var/cache/apk,sharing=locked,uid=65532,gid=65532 \
67
69
--mount=type=cache,target=/var/lib/apk,sharing=locked,uid=65532,gid=65532 \
@@ -78,7 +80,8 @@ RUN mkdir -p /home/nonroot/.yarn/berry && chown -R 65532:65532 /home/nonroot/.ya
78
80
USER nonroot
79
81
80
82
COPY --from=build --chown=65532:65532 /app/.yarn ./.yarn
81
- COPY --from=build --chown=65532:65532 /app/.yarnrc.yml ./
83
+ COPY --from=build --chown=65532:65532 /app/.yarnrc.yml ./
84
+ COPY --from=build --chown=65532:65532 /app/backstage.json ./
82
85
83
86
COPY --from=build --chown=65532:65532 /app/yarn.lock /app/package.json /app/packages/backend/dist/skeleton/ ./
84
87
@@ -88,7 +91,7 @@ RUN --mount=type=cache,target=/home/nonroot/.yarn/berry/cache,sharing=locked,uid
88
91
FROM --platform=linux/amd64 cgr.dev/chainguard/wolfi-base@sha256:7afaeb1ffbc9c33c21b9ddbd96a80140df1a5fa95aed6411b210bcb404e75c11
89
92
90
93
ENV PYTHON_VERSION="3.12=~3.12"
91
- ENV NODE_VERSION="18=~18.20 "
94
+ ENV NODE_VERSION="20=~20.19 "
92
95
ENV NODE_ENV=production
93
96
94
97
RUN --mount=type=cache,target=/var/cache/apk,sharing=locked,uid=65532,gid=65532 \
@@ -116,7 +119,8 @@ COPY --from=build --chown=65532:65532 /app/packages/backend/dist/bundle/ ./
116
119
COPY --from=node-builder --chown=65532:65532 /app/node_modules ./node_modules
117
120
COPY --from=python-builder --chown=65532:65532 /home/nonroot/venv /home/nonroot/venv
118
121
ENV PATH=/home/nonroot/venv/bin:$PATH
119
-
122
+ # This disables node snapshot for Node 20 to work with the Scaffolder
123
+ ENV NODE_OPTIONS="--no-node-snapshot"
120
124
ENV GIT_PYTHON_REFRESH="quiet"
121
125
122
126
ENTRYPOINT ["tini" , "--" ]
0 commit comments