plan291037 commited on
Commit
e6459b9
·
verified ·
1 Parent(s): 25a3d83

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -11
Dockerfile CHANGED
@@ -1,22 +1,41 @@
1
  FROM python:3.11-slim
2
 
 
 
 
 
 
 
 
 
 
 
3
  RUN apt-get update && \
4
  apt-get install -y --no-install-recommends \
5
- chromium chromium-driver fonts-liberation libgbm1 libnss3 libgconf-2-4 && \
 
 
 
6
  rm -rf /var/lib/apt/lists/*
7
 
8
- ENV CHROME_BINARY=/usr/bin/chromium
9
- ENV CHROME_EXTRA_ARGS="--no-sandbox --disable-dev-shm-usage --disable-gpu --window-size=1920,1080 --headless=new"
10
- ENV HOME=/tmp
11
- ENV XDG_CACHE_HOME=/tmp/.cache
12
- ENV SELENIUM_MANAGER_CACHE_DIR=/tmp/selenium
13
- ENV TMPDIR=/tmp
14
 
15
- RUN mkdir -p /app/downloaded_files && chmod -R 777 /app/downloaded_files
16
- RUN mkdir -p /tmp/.cache /tmp/selenium && chmod -R 777 /tmp/.cache /tmp/selenium
17
  COPY requirements.txt .
18
  RUN pip install --no-cache-dir -r requirements.txt
19
 
20
- COPY . /app
 
 
 
 
 
 
 
 
 
 
21
  WORKDIR /app
22
- CMD ["gunicorn", "-w", "1", "--threads","1","-k","uvicorn.workers.UvicornWorker","--bind","0.0.0.0:8080","app.main:app"]
 
 
 
1
  FROM python:3.11-slim
2
 
3
+ ENV PYTHONUNBUFFERED=1 \
4
+ PIP_NO_CACHE_DIR=1 \
5
+ HOME=/tmp \
6
+ XDG_CACHE_HOME=/tmp/.cache \
7
+ SELENIUM_MANAGER_CACHE_DIR=/tmp/selenium \
8
+ TMPDIR=/tmp \
9
+ CHROME_BINARY=/usr/bin/chromium \
10
+ CHROMEDRIVER=/usr/bin/chromedriver \
11
+ CHROME_EXTRA_ARGS="--no-sandbox --disable-dev-shm-usage --disable-gpu --window-size=1920,1080 --headless=new"
12
+
13
  RUN apt-get update && \
14
  apt-get install -y --no-install-recommends \
15
+ chromium chromium-driver \
16
+ fonts-liberation \
17
+ libgbm1 libnss3 libxss1 libasound2 libxshmfence1 \
18
+ ca-certificates && \
19
  rm -rf /var/lib/apt/lists/*
20
 
21
+ RUN mkdir -p /app/downloaded_files /tmp/.cache /tmp/selenium && \
22
+ chmod -R 777 /app/downloaded_files /tmp/.cache /tmp/selenium
 
 
 
 
23
 
 
 
24
  COPY requirements.txt .
25
  RUN pip install --no-cache-dir -r requirements.txt
26
 
27
+ RUN python - <<'PY'\n\
28
+ import sys, pathlib\n\
29
+ p = pathlib.Path(sys.executable).parent.parent / 'lib' / f'python{sys.version_info.major}.{sys.version_info.minor}' / 'site-packages' / 'seleniumbase' / 'drivers'\n\
30
+ print('Fixing perms under:', p)\n\
31
+ p.mkdir(parents=True, exist_ok=True)\n\
32
+ import os\n\
33
+ os.system(f'chmod -R a+rwX {p}')\n\
34
+ PY
35
+
36
+ RUN chmod a+rx /usr/bin/chromium /usr/bin/chromedriver
37
+
38
  WORKDIR /app
39
+ COPY . /app
40
+
41
+ CMD ["gunicorn","-w","1","--threads","1","-k","uvicorn.workers.UvicornWorker","--bind","0.0.0.0:8080","app.main:app"]