ajihakim201 commited on
Commit
b4d27be
·
verified ·
1 Parent(s): bebc9a9

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -18
Dockerfile CHANGED
@@ -1,37 +1,35 @@
1
- # Base image Ubuntu
2
  FROM ubuntu:22.04
3
 
4
- # Non-interactive supaya gak nanya timezone dll
5
  ENV DEBIAN_FRONTEND=noninteractive
6
 
7
- # Update & install deps dasar + curl + tesseract
8
  RUN apt-get update && apt-get install -y \
9
  curl \
 
 
10
  tesseract-ocr \
11
  libtesseract-dev \
12
- git \
13
- ca-certificates \
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
- # Install Node.js 18
17
- RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
18
- && apt-get install -y nodejs \
19
- && node -v && npm -v
20
 
21
- # Buat folder kerja
22
- WORKDIR /app
23
 
24
- # Copy package.json dan package-lock.json (jika ada)
25
- COPY package*.json ./
26
 
27
  # Install dependencies
28
  RUN npm install
29
 
30
- # Copy semua file project
31
- COPY . .
32
-
33
- # Expose port (gunakan 7860 sesuai default HuggingFace Docker)
34
- EXPOSE 7860
35
 
36
  # Jalankan server
37
  CMD ["node", "server.js"]
 
1
+ # Gunakan Ubuntu sebagai base
2
  FROM ubuntu:22.04
3
 
4
+ # Set timezone biar tidak ada prompt saat install
5
  ENV DEBIAN_FRONTEND=noninteractive
6
 
7
+ # Install dependencies dasar + Node.js 18 + Tesseract OCR
8
  RUN apt-get update && apt-get install -y \
9
  curl \
10
+ gnupg \
11
+ ca-certificates \
12
  tesseract-ocr \
13
  libtesseract-dev \
14
+ && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
15
+ && apt-get install -y nodejs \
16
  && rm -rf /var/lib/apt/lists/*
17
 
18
+ # Buat user non-root (disarankan oleh Hugging Face)
19
+ RUN useradd -m user
20
+ USER user
 
21
 
22
+ # Set working directory
23
+ WORKDIR /home/user/app
24
 
25
+ # Copy package.json & package-lock.json
26
+ COPY --chown=user:user package*.json ./
27
 
28
  # Install dependencies
29
  RUN npm install
30
 
31
+ # Copy source code
32
+ COPY --chown=user:user . .
 
 
 
33
 
34
  # Jalankan server
35
  CMD ["node", "server.js"]