Spaces:
Runtime error
Runtime error
Support headed mode in Docker
Browse files- Dockerfile +9 -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 ["
|
|
|
|
| 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
|