Spaces:
Paused
Paused
Update Dockerfile
Browse files- Dockerfile +12 -14
Dockerfile
CHANGED
|
@@ -7,19 +7,13 @@ ENV PYTHONUNBUFFERED=1 \
|
|
| 7 |
SELENIUM_MANAGER_CACHE_DIR=/home/user/.cache/selenium \
|
| 8 |
TMPDIR=/tmp \
|
| 9 |
PORT=7860 \
|
| 10 |
-
|
| 11 |
-
DISPLAY=:99 \
|
| 12 |
-
# ชี้ไปที่ chromium ที่ติดตั้งจาก apt
|
| 13 |
-
CHROME_BIN=/usr/bin/chromium \
|
| 14 |
-
CHROMIUM_BIN=/usr/bin/chromium
|
| 15 |
|
| 16 |
-
#
|
| 17 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 18 |
-
xvfb \
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
fonts-liberation libgtk-3-0 libatk-bridge2.0-0 libgbm1 libnss3 libxss1 \
|
| 22 |
-
libasound2 libxcomposite1 libxrandr2 libxdamage1 libxshmfence1 ca-certificates \
|
| 23 |
&& rm -rf /var/lib/apt/lists/*
|
| 24 |
|
| 25 |
RUN mkdir -p /home/user/.cache /home/user/.local /app && chmod -R 777 /home/user /tmp /app
|
|
@@ -28,7 +22,7 @@ WORKDIR /app
|
|
| 28 |
COPY requirements.txt /app/
|
| 29 |
RUN pip install --no-cache-dir -r requirements.txt
|
| 30 |
|
| 31 |
-
# (
|
| 32 |
RUN python - <<'PY'
|
| 33 |
import sysconfig, pathlib, os
|
| 34 |
p = pathlib.Path(sysconfig.get_paths()['purelib'])/'seleniumbase'/'drivers'
|
|
@@ -38,5 +32,9 @@ PY
|
|
| 38 |
|
| 39 |
COPY app.py /app/app.py
|
| 40 |
|
| 41 |
-
#
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
SELENIUM_MANAGER_CACHE_DIR=/home/user/.cache/selenium \
|
| 8 |
TMPDIR=/tmp \
|
| 9 |
PORT=7860 \
|
| 10 |
+
DISPLAY=:99
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
+
# NOTE: ตัด chromium-driver ทิ้งเพื่อลดปัญหา version mismatch กับตัวจัดการไดรเวอร์ของ SeleniumBase/UC
|
| 13 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 14 |
+
xvfb chromium \
|
| 15 |
+
libgtk-3-0 libatk-bridge2.0-0 libxcomposite1 libxrandr2 libxdamage1 \
|
| 16 |
+
libgbm1 libnss3 libxss1 libasound2 libxshmfence1 fonts-liberation ca-certificates \
|
|
|
|
|
|
|
| 17 |
&& rm -rf /var/lib/apt/lists/*
|
| 18 |
|
| 19 |
RUN mkdir -p /home/user/.cache /home/user/.local /app && chmod -R 777 /home/user /tmp /app
|
|
|
|
| 22 |
COPY requirements.txt /app/
|
| 23 |
RUN pip install --no-cache-dir -r requirements.txt
|
| 24 |
|
| 25 |
+
# (คงไว้ตามของเดิม เพื่อโฟลเดอร์ drivers เขียนได้)
|
| 26 |
RUN python - <<'PY'
|
| 27 |
import sysconfig, pathlib, os
|
| 28 |
p = pathlib.Path(sysconfig.get_paths()['purelib'])/'seleniumbase'/'drivers'
|
|
|
|
| 32 |
|
| 33 |
COPY app.py /app/app.py
|
| 34 |
|
| 35 |
+
# entrypoint แบบชัด ๆ (เช็ค xvfb-run, echo แล้ว exec ด้วย set -x ให้เห็นคำสั่ง)
|
| 36 |
+
COPY start.sh /app/start.sh
|
| 37 |
+
RUN chmod +x /app/start.sh
|
| 38 |
+
|
| 39 |
+
# สำคัญ: ใส่ access/error logfile เป็น "-" เพื่อให้ไป stdout/stderr แล้ว HF เก็บ log ให้
|
| 40 |
+
CMD ["/app/start.sh"]
|