FROM node:20-alpine AS base WORKDIR /app FROM base AS deps RUN apk add --no-cache libc6-compat COPY package.json package-lock.json ./ RUN npm ci FROM base AS builder COPY --from=deps /app/node_modules /app/node_modules COPY . . RUN npm run build FROM base AS runner RUN addgroup -g 1001 -S nodejs RUN adduser -S nodejs -u 1001 WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/package.json ./package.json COPY --from=builder /app/node_modules ./node_modules USER nodejs EXPOSE 4321 CMD ["npx", "astro", "preview", "--host", "0.0.0.0", "--port", "4321"]