deepak191z commited on
Commit
4796e39
·
verified ·
1 Parent(s): ccaec3b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -15
Dockerfile CHANGED
@@ -1,27 +1,24 @@
1
- FROM node:18-slim
2
 
3
- # Install OpenJDK 17 (required for apk-mitm or other Java-based tools)
4
- RUN apt-get update && apt-get install -y \
5
- openjdk-17-jdk \
6
- && rm -rf /var/lib/apt/lists/*
7
 
8
  # Set working directory
9
  WORKDIR /app
10
 
11
- # Copy package.json and package-lock.json (if it exists)
12
  COPY package*.json ./
13
 
14
- # Install global apk-mitm and project dependencies as root
15
- RUN npm install -g apk-mitm
16
- RUN npm install
17
 
18
- # Copy the rest of the application files
19
- COPY . .
20
 
21
- # Create uploads directory and set permissions
22
- RUN mkdir -p /app/uploads && chown -R node:node /app
23
 
24
- # Switch to node user for running the app
25
  USER node
26
 
27
  # Set environment variable for port
@@ -31,4 +28,4 @@ ENV PORT=7860
31
  EXPOSE 7860
32
 
33
  # Start the application
34
- CMD ["npm", "start"]
 
1
+ FROM node:18-alpine
2
 
3
+ # Install OpenJDK 17 (for apk-mitm and other Java-based tools)
4
+ RUN apk add --no-cache openjdk17
 
 
5
 
6
  # Set working directory
7
  WORKDIR /app
8
 
9
+ # Copy package files first for better caching
10
  COPY package*.json ./
11
 
12
+ # Install global dependencies and project dependencies in one step
13
+ RUN npm install -g apk-mitm && npm install --production
 
14
 
15
+ # Copy the rest of the application files with correct ownership
16
+ COPY --chown=node:node . .
17
 
18
+ # Create uploads directory with correct permissions
19
+ RUN mkdir -p /app/uploads
20
 
21
+ # Switch to non-root user
22
  USER node
23
 
24
  # Set environment variable for port
 
28
  EXPOSE 7860
29
 
30
  # Start the application
31
+ CMD ["npm", "start"]