ken4 commited on
Commit
6d5196e
·
verified ·
1 Parent(s): a8155b4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +32 -5
Dockerfile CHANGED
@@ -1,14 +1,41 @@
1
- FROM node:20
 
2
 
3
- ARG CACHEBUST=1
 
 
 
 
 
 
 
 
4
 
 
5
  WORKDIR /app
6
 
 
 
 
 
 
7
  RUN --mount=type=secret,id=GITHUB_REPO,required=true \
8
- git clone $(cat /run/secrets/GITHUB_REPO) /app
 
 
 
 
 
 
 
 
 
9
 
10
- RUN yarn install && yarn run build
 
11
 
 
12
  EXPOSE 7860
13
 
14
- CMD ["yarn", "start"]
 
 
1
+ # Gunakan base image Node.js versi 20
2
+ FROM node:20.19.1
3
 
4
+ # Tambahkan PATH lokal
5
+ ENV PATH="/home/user/.local/bin:$PATH"
6
+
7
+ # Install Chromium dependencies untuk Puppeteer
8
+ RUN apt-get update && \
9
+ apt-get install -y --no-install-recommends \
10
+ ca-certificates \
11
+ git \
12
+ && rm -rf /var/lib/apt/lists/*
13
 
14
+ # Set working directory
15
  WORKDIR /app
16
 
17
+ # Arg untuk memaksa rebuild cache (opsional)
18
+ ARG CACHEBUST=1
19
+
20
+ # Pastikan Docker BuildKit aktif sebelum build
21
+ # Mengambil kode dari repo private menggunakan secret
22
  RUN --mount=type=secret,id=GITHUB_REPO,required=true \
23
+ git clone -b uploader $(cat /run/secrets/GITHUB_REPO) --depth=1 .
24
+
25
+ # Install yarn dan dependencies
26
+ RUN yarn install
27
+
28
+ # Build aplikasi
29
+ RUN yarn run build
30
+
31
+ # Ubah kepemilikan direktori ke user `node`
32
+ RUN chown -R node:node /app
33
 
34
+ # Ganti ke user non-root
35
+ USER node
36
 
37
+ # Buka port untuk aplikasi
38
  EXPOSE 7860
39
 
40
+ # Jalankan aplikasi
41
+ CMD ["node", "app.js"]