vipsphi commited on
Commit
9697ad6
·
verified ·
1 Parent(s): be48245

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -16
Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
  FROM node:20-bullseye-slim
2
 
3
- # 1. Cài đặt đầy đủ các thư viện cần thiết cho Chromium/Electron
4
  RUN apt-get update && apt-get install -y \
5
  git \
6
  xvfb \
@@ -19,25 +19,24 @@ RUN apt-get update && apt-get install -y \
19
 
20
  WORKDIR /app
21
 
22
- COPY . .
23
-
24
- # Cài đặt dependencies
25
  RUN npm install --unsafe-perm
26
 
27
- # 2. Tạo thư mục cho DBUS để tránh lỗi "Failed to connect to socket"
28
- RUN mkdir -p /var/run/dbus
29
-
30
- # Hugging Face Spaces dùng cổng 7860
31
- EXPOSE 7860
32
 
 
33
  ENV DISPLAY=:99
34
- # 3. Các biến môi trường để tắt các tính năng gây lỗi
35
- ENV NODE_ENV=production
36
  ENV ELECTRON_DISABLE_GPU=1
37
- ENV ELECTRON_ENABLE_STACK_DUMPING=true
 
 
 
38
 
39
- # 4. Sử dụng một script khởi động hoặc chuỗi lệnh sạch hơn
40
- # Thêm --disable-dev-shm-usage cực kỳ quan trọng trong Docker
41
- CMD Xvfb :99 -screen 0 1024x768x16 & \
 
 
42
  dbus-daemon --system --fork && \
43
- npm start -- --no-sandbox --disable-dev-shm-usage --disable-gpu --disable-software-rasterizer
 
1
  FROM node:20-bullseye-slim
2
 
3
+ # Cài đặt các thư viện hệ thống cần thiết cho Electron và Xvfb
4
  RUN apt-get update && apt-get install -y \
5
  git \
6
  xvfb \
 
19
 
20
  WORKDIR /app
21
 
22
+ # Copy và cài đặt project
23
+ COPY package*.json ./
 
24
  RUN npm install --unsafe-perm
25
 
26
+ COPY . .
 
 
 
 
27
 
28
+ # Thiết lập biến môi trường
29
  ENV DISPLAY=:99
 
 
30
  ENV ELECTRON_DISABLE_GPU=1
31
+ ENV XDG_RUNTIME_DIR=/tmp/runtime-root
32
+
33
+ # Tạo thư mục cần thiết
34
+ RUN mkdir -p /tmp/runtime-root && chmod 0700 /tmp/runtime-root
35
 
36
+ # Script khởi chạy:
37
+ # 1. Khởi động Xvfb với độ phân giải cụ thể
38
+ # 2. Khởi động DBUS để tránh lỗi bus
39
+ # 3. Chạy Electron với các flag bỏ qua sandbox và GPU
40
+ CMD Xvfb :99 -screen 0 1280x1024x24 & \
41
  dbus-daemon --system --fork && \
42
+ npm start -- --no-sandbox --disable-gpu --disable-software-rasterizer