2025-06-16 02:11:37 +08:00
|
|
|
FROM --platform=${BUILDPLATFORM} node:18 AS build
|
2020-04-29 08:53:07 +03:00
|
|
|
|
2020-06-18 10:46:24 +01:00
|
|
|
WORKDIR /opt/node_app
|
|
|
|
|
2024-05-07 14:30:58 +02:00
|
|
|
COPY . .
|
|
|
|
|
|
|
|
# do not ignore optional dependencies:
|
|
|
|
# Error: Cannot find module @rollup/rollup-linux-x64-gnu
|
2025-06-16 02:11:37 +08:00
|
|
|
RUN --mount=type=cache,target=/root/.cache/yarn \
|
|
|
|
npm_config_target_arch=${TARGETARCH} yarn --network-timeout 600000
|
2020-06-18 10:46:24 +01:00
|
|
|
|
|
|
|
ARG NODE_ENV=production
|
|
|
|
|
2025-06-16 02:11:37 +08:00
|
|
|
RUN npm_config_target_arch=${TARGETARCH} yarn build:app:docker
|
2020-04-29 08:53:07 +03:00
|
|
|
|
2025-06-16 02:11:37 +08:00
|
|
|
FROM --platform=${TARGETPLATFORM} nginx:1.27-alpine
|
2020-04-29 08:53:07 +03:00
|
|
|
|
2024-05-07 14:30:58 +02:00
|
|
|
COPY --from=build /opt/node_app/excalidraw-app/build /usr/share/nginx/html
|
2020-04-29 08:53:07 +03:00
|
|
|
|
|
|
|
HEALTHCHECK CMD wget -q -O /dev/null http://localhost || exit 1
|