pvanand commited on
Commit
c04d3ae
·
verified ·
1 Parent(s): 8f8b38e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -33
Dockerfile CHANGED
@@ -1,44 +1,20 @@
1
- # syntax=docker/dockerfile:1.4
2
-
3
  # Use an official Node runtime as the base image
4
- FROM node:18 AS base
5
 
6
- # Create a deps stage for efficient caching
7
- FROM base AS deps
8
- WORKDIR /app
9
 
10
  # Copy package.json and package-lock.json
11
  COPY package*.json ./
12
 
13
- # Install dependencies
14
- RUN npm ci
15
 
16
- # Build stage
17
- FROM base AS builder
18
- WORKDIR /app
19
- COPY --from=deps /app/node_modules ./node_modules
20
  COPY . .
21
 
22
- # Production stage
23
- FROM base AS runner
24
- WORKDIR /app
25
-
26
- ENV NODE_ENV production
27
-
28
- # Create a non-root user
29
- RUN addgroup --system --gid 1001 nodejs
30
- RUN adduser --system --uid 1001 marpituser
31
-
32
- # Copy necessary files
33
- COPY --from=builder --chown=marpituser:nodejs /app/package*.json ./
34
- COPY --from=builder --chown=marpituser:nodejs /app/node_modules ./node_modules
35
- COPY --from=builder --chown=marpituser:nodejs /app/server.js ./
36
-
37
- # Switch to non-root user
38
- USER marpituser
39
-
40
  EXPOSE 3000
41
- ENV PORT 3000
42
- ENV HOSTNAME 0.0.0.0
43
 
44
- CMD ["node", "server.js"]
 
 
 
 
1
  # Use an official Node runtime as the base image
2
+ FROM node:14
3
 
4
+ # Set the working directory in the container
5
+ WORKDIR /usr/src/app
 
6
 
7
  # Copy package.json and package-lock.json
8
  COPY package*.json ./
9
 
10
+ # Install app dependencies
11
+ RUN npm install
12
 
13
+ # Copy the rest of the application code
 
 
 
14
  COPY . .
15
 
16
+ # Make port 3000 available outside the container
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  EXPOSE 3000
 
 
18
 
19
+ # Define the command to run the app
20
+ CMD [ "node", "server.js" ]