FROM node:20-alpine # Create app directory WORKDIR /app # Install app dependencies COPY package*.json ./ RUN npm install # Bundle app source COPY . . # Create uploads directory RUN mkdir -p public/uploads # Create non-root user RUN addgroup -S appgroup && adduser -S appuser -G appgroup RUN chown -R appuser:appgroup /app USER appuser EXPOSE 3000 CMD [ "node", "server.js" ]