fix: reduce Docker image from 331MB to 215MB — remove duplicate node_modules layer

v0.2.2: Removed COPY --from=builder node_modules from runner stage.
The full dev+prod modules (116MB) were being copied as a permanent
Docker layer, then npm ci --omit=dev installed a separate prod-only
set on top. Now only the prod install runs, cutting 116MB.
This commit is contained in:
null 2026-05-12 02:04:52 -05:00
parent 1f3e3864f9
commit ba0d039cdc
2 changed files with 3 additions and 4 deletions

View File

@ -34,14 +34,13 @@ RUN mkdir -p /app/db /app/logs
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# Copy from builder - production dependencies only
# Copy from builder - built artifacts and package manifests
COPY --from=builder /app/package.json /app/package-lock.json* ./
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/server ./server
# Install production dependencies only in runtime stage
RUN npm ci --omit=dev || true
RUN npm ci --omit=dev
# Install su-exec for switching to non-root user
RUN apk add --no-cache su-exec && \

View File

@ -1,7 +1,7 @@
{
"name": "queuenorth-website",
"private": true,
"version": "0.2.1",
"version": "0.2.2",
"type": "module",
"scripts": {
"dev": "concurrently \"vite\" \"node server/index.js\"",