Vo Hoang Minh commited on
Commit
67ce5f0
·
1 Parent(s): 3ab263e
Files changed (1) hide show
  1. Dockerfile +21 -60
Dockerfile CHANGED
@@ -1,79 +1,40 @@
1
- # Sử dụng Node.js image cơ bản
2
  FROM nginx:latest
3
 
4
- RUN touch /var/run/nginx.pid && \
5
- RUN chown -R nginx:nginx /var/cache/nginx /var/run/nginx.pid
6
-
7
- RUN chmod 777 /var/lib/nginx -R
8
- RUN chmod 777 /var/log -R
9
- RUN chmod 777 /run -R
10
-
11
- COPY nginx.conf /etc/nginx/nginx.conf
12
- # Tạo thư mục chứa file log (tùy chọn)
13
- RUN mkdir -p /var/log/nginx && chmod -R 755 /var/log/nginx
14
-
15
-
16
- # Thiết lập biến môi trường cho Hugging Face Spaces
17
  ENV PYTHONUNBUFFERED=1 \
18
  PORT=8080 \
19
  DEBIAN_FRONTEND=noninteractive \
20
  DISPLAY=:0
21
 
22
- # Cài đặt các gói cần thiết cho trình duyệt headless và xvfb
23
  RUN apt-get update && \
24
  apt-get install -y --no-install-recommends \
25
- tzdata wget curl sudo \
26
- gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 \
27
- libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 \
28
- libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 \
29
- libgtk-3-bin libnspr4 libpango-1.0-0 libpangocairo-1.0-0 \
30
- libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
31
- libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 \
32
- libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \
33
- fonts-liberation libappindicator1 libnss3 lsb-release \
34
- xdg-utils libgbm-dev && \
35
- apt-get clean && \
36
- rm -rf /var/lib/apt/lists/*
37
-
38
- # Cài đặt Orbita Browser
39
- RUN mkdir -p /home/nginx/.gologin/browser && \
40
- wget https://orbita-browser-linux.gologin.com/orbita-browser-latest.tar.gz -O /tmp/orbita-browser.tar.gz && \
41
- tar -xzf /tmp/orbita-browser.tar.gz -C /home/nginx/.gologin && \
42
- mv /home/nginx/.gologin/orbita-browser /home/nginx/.gologin/browser && \
43
- chmod -R 755 /home/nginx/.gologin/browser && \
44
- rm -f /tmp/orbita-browser.tar.gz && \
45
- mkdir -p /home/nginx/Downloads
46
-
47
-
48
- # Thiết lập thư mục làm việc và sao chép mã nguồn
49
  WORKDIR /app
50
- COPY . /app/
 
51
 
52
- # install nodejs 22
53
- RUN curl -sL https://deb.nodesource.com/setup_22.x | sudo -E bash - && \
54
- apt-get install -y nodejs
55
 
56
- # Cài đặt dependencies
57
  RUN npm install
58
 
59
- COPY entrypoint.sh /entrypoint.sh
 
60
 
61
- # Cấp quyền thực thi cho entrypoint.sh
62
  RUN chmod +x /entrypoint.sh
63
 
64
- # Add the browser user (orbita)
65
- RUN groupadd -r nginx && useradd -r -g nginx -s/bin/bash -G audio,video,sudo -p $(echo 1 | openssl passwd -1 -stdin) orbita \
66
- && mkdir -p /home/nginx/Downloads \
67
- && chown -R nginx:nginx /app
68
-
69
- RUN echo 'nginx ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
70
-
71
- USER nginx
72
-
73
- # Mở cổng cho API và WebSocket
74
  EXPOSE 8080 3000 3500
75
-
76
- # Thiết lập quyền truy cập
77
-
78
- # Khởi chạy ứng dụng khi container được khởi động
79
  ENTRYPOINT ["/entrypoint.sh"]
 
 
1
  FROM nginx:latest
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ENV PYTHONUNBUFFERED=1 \
4
  PORT=8080 \
5
  DEBIAN_FRONTEND=noninteractive \
6
  DISPLAY=:0
7
 
8
+ # Install basic tools and Node.js
9
  RUN apt-get update && \
10
  apt-get install -y --no-install-recommends \
11
+ curl wget sudo nodejs npm tzdata \
12
+ libx11-6 libgbm-dev && \
13
+ apt-get clean && rm -rf /var/lib/apt/lists/*
14
+
15
+ # Cài Orbita
16
+ RUN mkdir -p /home/node/.gologin/browser && \
17
+ wget https://orbita-browser-linux.gologin.com/orbita-browser-latest.tar.gz -O /tmp/orbita.tar.gz && \
18
+ tar -xzf /tmp/orbita.tar.gz -C /home/node/.gologin && \
19
+ mv /home/node/.gologin/orbita-browser /home/node/.gologin/browser && \
20
+ rm /tmp/orbita.tar.gz
21
+
22
+ # Copy code
 
 
 
 
 
 
 
 
 
 
 
 
23
  WORKDIR /app
24
+ COPY . /app
25
+ RUN chown -R node:node /app
26
 
27
+ # Switch to user node
28
+ USER node
 
29
 
30
+ # Install deps
31
  RUN npm install
32
 
33
+ # Copy nginx config (đặt sẵn cho user node đọc được)
34
+ COPY nginx.conf /home/node/nginx.conf
35
 
36
+ COPY entrypoint.sh /entrypoint.sh
37
  RUN chmod +x /entrypoint.sh
38
 
 
 
 
 
 
 
 
 
 
 
39
  EXPOSE 8080 3000 3500
 
 
 
 
40
  ENTRYPOINT ["/entrypoint.sh"]