whitphx HF Staff commited on
Commit
7fe843b
·
1 Parent(s): 46861c5

Support headed mode in Docker

Browse files
Files changed (2) hide show
  1. Dockerfile +9 -2
  2. bench/start.sh +13 -0
Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
  FROM node:22-slim
2
 
3
- # Install dependencies for Playwright browsers
4
  RUN apt-get update && apt-get install -y \
5
  wget \
6
  gnupg \
@@ -24,6 +24,10 @@ RUN apt-get update && apt-get install -y \
24
  libxkbcommon0 \
25
  libxrandr2 \
26
  xdg-utils \
 
 
 
 
27
  && rm -rf /var/lib/apt/lists/*
28
 
29
  WORKDIR /app
@@ -45,6 +49,9 @@ RUN npx playwright install chromium firefox webkit
45
  WORKDIR /app
46
  COPY bench/ ./bench/
47
 
 
 
 
48
  # Create writable directories for HF Spaces
49
  RUN mkdir -p /tmp/vite-cache /tmp/bench-data && \
50
  chmod -R 777 /tmp/vite-cache /tmp/bench-data
@@ -62,4 +69,4 @@ ENV BENCHMARK_RESULTS_PATH=/tmp/bench-data/benchmark-results.jsonl
62
 
63
  # Start the server
64
  WORKDIR /app/bench
65
- CMD ["npm", "run", "server"]
 
1
  FROM node:22-slim
2
 
3
+ # Install dependencies for Playwright browsers (including headed mode support)
4
  RUN apt-get update && apt-get install -y \
5
  wget \
6
  gnupg \
 
24
  libxkbcommon0 \
25
  libxrandr2 \
26
  xdg-utils \
27
+ xvfb \
28
+ x11vnc \
29
+ fluxbox \
30
+ dbus-x11 \
31
  && rm -rf /var/lib/apt/lists/*
32
 
33
  WORKDIR /app
 
49
  WORKDIR /app
50
  COPY bench/ ./bench/
51
 
52
+ # Make startup script executable
53
+ RUN chmod +x /app/bench/start.sh
54
+
55
  # Create writable directories for HF Spaces
56
  RUN mkdir -p /tmp/vite-cache /tmp/bench-data && \
57
  chmod -R 777 /tmp/vite-cache /tmp/bench-data
 
69
 
70
  # Start the server
71
  WORKDIR /app/bench
72
+ CMD ["./start.sh"]
bench/start.sh ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # Start Xvfb (virtual display) in the background if HEADED_MODE is enabled
4
+ if [ "$ENABLE_XVFB" = "true" ]; then
5
+ echo "Starting Xvfb for headed mode support..."
6
+ Xvfb :99 -screen 0 1280x720x24 -ac +extension GLX +render -noreset &
7
+ export DISPLAY=:99
8
+ sleep 2
9
+ echo "Xvfb started on DISPLAY=:99"
10
+ fi
11
+
12
+ # Start the benchmark server
13
+ exec npm run server