Skip to content

Commit

Permalink
Optimize Dockerfile for security and efficiency
Browse files Browse the repository at this point in the history
  • Loading branch information
wvl94 committed Aug 29, 2024
1 parent 13c9c80 commit 93b225a
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
FROM node:19-alpine
ENV PORT 8080

# Stage 1: Build Stage
FROM node:20-alpine AS build
WORKDIR /usr/src/app

RUN apk add --no-cache git
COPY package*.json ./
RUN npm install
COPY . .

# Stage 2: Production Stage
FROM node:20-alpine
ENV PORT 8080
WORKDIR /usr/src/app
COPY --from=build /usr/src/app .

# Create a user for improved security
RUN addgroup -S usergroup \
&& adduser -S -D -h /usr/src/app appuser usergroup \
&& chown -R appuser:usergroup /usr/src/app
USER appuser

EXPOSE 8080
CMD ["npm", "start", "--no-update-notifier"]

0 comments on commit 93b225a

Please sign in to comment.