18 lines
489 B
Docker
18 lines
489 B
Docker
|
|
FROM --platform=$BUILDPLATFORM node:24-alpine AS build
|
||
|
|
|
||
|
|
WORKDIR /app
|
||
|
|
COPY package.json yarn.lock .yarnrc.yml ./
|
||
|
|
COPY .yarn .yarn
|
||
|
|
RUN corepack enable && yarn install --immutable
|
||
|
|
|
||
|
|
COPY . .
|
||
|
|
RUN yarn build:full
|
||
|
|
|
||
|
|
# Compress assets for nginx gzip_static
|
||
|
|
WORKDIR /app/dist/assets
|
||
|
|
RUN gzip -k ../index.html *.js *.map *.css *.wasm *-app-*.json 2>/dev/null || true
|
||
|
|
|
||
|
|
FROM nginxinc/nginx-unprivileged:alpine-slim
|
||
|
|
COPY --from=build /app/dist /app
|
||
|
|
COPY config/nginx.conf /etc/nginx/conf.d/default.conf
|