overwrite69 commited on
Commit
7497229
·
verified ·
1 Parent(s): d363a25

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -9
Dockerfile CHANGED
@@ -4,21 +4,23 @@ FROM python:3.13-slim-bookworm
4
  ENV PORT=7860
5
  ENV HOME=/app
6
  ENV PYTHONUNBUFFERED=1
 
 
7
 
8
  WORKDIR /app
9
 
10
- # 2. Install only necessary system dependencies
11
- # We use chromium and xvfb to run the browser headlessly
12
  RUN apt-get update && apt-get install -y --no-install-recommends \
13
  chromium \
14
  chromium-driver \
15
  xvfb \
 
16
  dumb-init \
17
  procps \
18
  curl \
19
  && rm -rf /var/lib/apt/lists/*
20
 
21
- # 3. Create a user with UID 1000 (standard for HF Spaces)
22
  RUN useradd -m -u 1000 flaresolverr && \
23
  mkdir -p /app/.config/chromium/Crash\ Reports/pending && \
24
  mkdir -p /config && \
@@ -26,14 +28,13 @@ RUN useradd -m -u 1000 flaresolverr && \
26
  chmod -R 775 /app /config
27
 
28
  # 4. Install Python requirements
29
- # Make sure you have a requirements.txt in your repo!
30
  COPY requirements.txt .
31
  RUN pip install --no-cache-dir -r requirements.txt
32
 
33
- # 5. Copy the rest of your source code
34
- COPY src /app/src
 
35
  COPY package.json /app/package.json
36
- COPY src/flaresolverr.py /app/flaresolverr.py
37
 
38
  # 6. Final setup
39
  EXPOSE 7860
@@ -41,5 +42,6 @@ USER 1000
41
 
42
  ENTRYPOINT ["/usr/bin/dumb-init", "--"]
43
 
44
- # Run FlareSolverr using the PORT environment variable
45
- CMD ["sh", "-c", "xvfb-run -s '-screen 0 1600x1200x24' python3 -u /app/flaresolverr.py"]
 
 
4
  ENV PORT=7860
5
  ENV HOME=/app
6
  ENV PYTHONUNBUFFERED=1
7
+ # Force FlareSolverr to use the HF port
8
+ ENV FL_PORT=7860
9
 
10
  WORKDIR /app
11
 
12
+ # 2. Install system dependencies + xauth
 
13
  RUN apt-get update && apt-get install -y --no-install-recommends \
14
  chromium \
15
  chromium-driver \
16
  xvfb \
17
+ xauth \
18
  dumb-init \
19
  procps \
20
  curl \
21
  && rm -rf /var/lib/apt/lists/*
22
 
23
+ # 3. Create user and set permissions
24
  RUN useradd -m -u 1000 flaresolverr && \
25
  mkdir -p /app/.config/chromium/Crash\ Reports/pending && \
26
  mkdir -p /config && \
 
28
  chmod -R 775 /app /config
29
 
30
  # 4. Install Python requirements
 
31
  COPY requirements.txt .
32
  RUN pip install --no-cache-dir -r requirements.txt
33
 
34
+ # 5. Copy source code
35
+ # Ensure your 'src' folder is in the same directory as this Dockerfile
36
+ COPY src/ /app/src/
37
  COPY package.json /app/package.json
 
38
 
39
  # 6. Final setup
40
  EXPOSE 7860
 
42
 
43
  ENTRYPOINT ["/usr/bin/dumb-init", "--"]
44
 
45
+ # Run FlareSolverr using xvfb-run
46
+ # We use -a to automatically find a free server number
47
+ CMD ["xvfb-run", "-a", "-s", "-screen 0 1600x1200x24", "python3", "-u", "/app/src/flaresolverr.py"]