srivatsavdamaraju commited on
Commit
738f369
·
verified ·
1 Parent(s): 56a2fa4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -31
Dockerfile CHANGED
@@ -1,45 +1,28 @@
1
- # Use official Node.js 18 slim image
2
- FROM node:18-slim
3
-
4
- # Install Chromium and required dependencies
5
- RUN apt-get update && apt-get install -y \
6
- chromium \
7
- fonts-liberation \
8
- libappindicator3-1 \
9
- libasound2 \
10
- libatk-bridge2.0-0 \
11
- libatk1.0-0 \
12
- libcups2 \
13
- libdbus-1-3 \
14
- libdrm2 \
15
- libgbm1 \
16
- libgtk-3-0 \
17
- libnspr4 \
18
- libnss3 \
19
- libx11-xcb1 \
20
- libxcomposite1 \
21
- libxdamage1 \
22
- libxrandr2 \
23
- libxss1 \
24
- libxtst6 \
25
- xdg-utils \
26
- --no-install-recommends \
27
  && rm -rf /var/lib/apt/lists/*
28
 
29
- # Set working directory
30
  WORKDIR /app
31
 
32
  # Copy package files
33
  COPY package*.json ./
34
 
35
  # Install dependencies
36
- RUN npm install
37
 
38
  # Copy source code
39
  COPY . .
40
 
41
- # Expose port
 
 
 
 
 
42
  EXPOSE 5000
43
 
44
- # Start the server
45
- CMD ["npm", "start"]
 
1
+ # Use Playwright's official image (comes with browsers pre-installed)
2
+ FROM mcr.microsoft.com/playwright:v1.40.0-jammy
3
+
4
+ # Install Node.js if not already included
5
+ RUN apt-get update && apt-get install -y nodejs npm \
6
+ && apt-get clean \
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  && rm -rf /var/lib/apt/lists/*
8
 
 
9
  WORKDIR /app
10
 
11
  # Copy package files
12
  COPY package*.json ./
13
 
14
  # Install dependencies
15
+ RUN npm ci --only=production && npm cache clean --force
16
 
17
  # Copy source code
18
  COPY . .
19
 
20
+ # Create non-root user
21
+ RUN groupadd -r nodeuser && useradd -r -g nodeuser nodeuser \
22
+ && chown -R nodeuser:nodeuser /app
23
+
24
+ USER nodeuser
25
+
26
  EXPOSE 5000
27
 
28
+ CMD ["node", "server.js"]