numshot commited on
Commit
5acf9c5
·
verified ·
1 Parent(s): f2d1b25

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +41 -0
Dockerfile ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 huggingface $(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"]