Severian commited on
Commit
660901a
·
1 Parent(s): 3e8eb63

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -52
Dockerfile CHANGED
@@ -1,58 +1,15 @@
1
- FROM node:18-alpine AS base
 
2
 
3
- FROM base AS deps
 
4
 
5
- RUN apk add --no-cache libc6-compat
 
6
 
7
- WORKDIR /app
8
-
9
- COPY package.json yarn.lock ./
10
-
11
- RUN yarn config set registry 'https://registry.npmmirror.com/'
12
- RUN yarn install
13
-
14
- FROM base AS builder
15
-
16
- RUN apk update && apk add --no-cache git
17
-
18
-
19
- WORKDIR /app
20
- COPY --from=deps /app/node_modules ./node_modules
21
- COPY . .
22
-
23
- RUN yarn build
24
-
25
- FROM base AS runner
26
- WORKDIR /app
27
-
28
- RUN apk add proxychains-ng
29
-
30
- ENV PROXY_URL=""
31
-
32
- COPY --from=builder /app/public ./public
33
- COPY --from=builder /app/.next/standalone ./
34
- COPY --from=builder /app/.next/static ./.next/static
35
- COPY --from=builder /app/.next/server ./.next/server
36
 
 
37
  EXPOSE 3000
38
 
39
- CMD if [ -n "$PROXY_URL" ]; then \
40
- export HOSTNAME="127.0.0.1"; \
41
- protocol=$(echo $PROXY_URL | cut -d: -f1); \
42
- host=$(echo $PROXY_URL | cut -d/ -f3 | cut -d: -f1); \
43
- port=$(echo $PROXY_URL | cut -d: -f3); \
44
- conf=/etc/proxychains.conf; \
45
- echo "strict_chain" > $conf; \
46
- echo "proxy_dns" >> $conf; \
47
- echo "remote_dns_subnet 224" >> $conf; \
48
- echo "tcp_read_time_out 15000" >> $conf; \
49
- echo "tcp_connect_time_out 8000" >> $conf; \
50
- echo "localnet 127.0.0.0/255.0.0.0" >> $conf; \
51
- echo "localnet ::1/128" >> $conf; \
52
- echo "[ProxyList]" >> $conf; \
53
- echo "$protocol $host $port" >> $conf; \
54
- cat /etc/proxychains.conf; \
55
- proxychains -f $conf node server.js; \
56
- else \
57
- node server.js; \
58
- fi
 
1
+ # Use an official Node.js runtime as the base image
2
+ FROM node:18
3
 
4
+ # Install the application dependencies
5
+ RUN npm install
6
 
7
+ # Build the application
8
+ RUN npm run build
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
+ # Expose port 3000 for the application
12
  EXPOSE 3000
13
 
14
+ # Define the command to run the application
15
+ CMD ["npm", "run", "start"]