optimize Dockerfile and update nginx base image

This commit is contained in:
Lalit Sudhir
2025-10-24 00:36:40 -07:00
parent 922e42548f
commit 874d97889f
2 changed files with 5 additions and 16 deletions

View File

@@ -1,11 +1,8 @@
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
# Build without type checking (vite build only)
@@ -15,18 +12,10 @@ ENV SIMPLE_MODE=$SIMPLE_MODE
RUN npm run build -- --mode production
# Production stage
FROM nginxinc/nginx-unprivileged:1.29-alpine
FROM nginxinc/nginx-unprivileged:stable-alpine-slim
# Copy files as root first, then change ownership
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
# Change ownership while still root, then switch to nginx user
USER root
RUN mkdir -p /etc/nginx/tmp && \
chown -R nginx:nginx /usr/share/nginx/html /etc/nginx/tmp
USER nginx
EXPOSE 8080
COPY --chown=nginx:nginx --from=builder /app/dist /usr/share/nginx/html
COPY --chown=nginx:nginx nginx.conf /etc/nginx/nginx.conf
RUN mkdir -p /etc/nginx/tmp && chown -R nginx:nginx /etc/nginx/tmp
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -4,7 +4,7 @@ services:
context: .
dockerfile: Dockerfile
args:
SIMPLE_MODE: true # false for default mode, true for simple mode
SIMPLE_MODE: false # false for default mode, true for simple mode
container_name: bentopdf
ports:
- '3000:8080'