Public source validation / validate (push) Failing after 3m8s
21 lines
1021 B
Docker
21 lines
1021 B
Docker
# Vite uses native lightningcss bindings during production minification. Use the
|
|
# glibc builder variant so pnpm selects the reproducibly available linux-x64-gnu
|
|
# optional package; the small nginx runtime remains Alpine-based.
|
|
FROM node:24-bookworm-slim@sha256:3638d9a6fe4030bd716be989438248074489337ba3275657f93595428be4fc03 AS build
|
|
WORKDIR /src
|
|
RUN npm install --global pnpm@10.33.0
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY apps/web/package.json ./apps/web/package.json
|
|
RUN pnpm install --frozen-lockfile
|
|
COPY apps/web ./apps/web
|
|
RUN pnpm --filter @itworx/pulse-web build
|
|
|
|
FROM nginx:1.29-alpine@sha256:5616878291a2eed594aee8db4dade5878cf7edcb475e59193904b198d9b830de
|
|
RUN apk upgrade --no-cache
|
|
COPY deploy/nginx.conf /etc/nginx/nginx.conf
|
|
COPY --from=build /src/apps/web/dist /usr/share/nginx/html
|
|
RUN rm -rf /docker-entrypoint.d/*
|
|
USER nginx
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD ["sh", "-c", "wget -qO- http://127.0.0.1:8080/healthz >/dev/null"]
|
|
EXPOSE 8080
|