1oscon commited on
Commit
688994b
·
verified ·
1 Parent(s): aabfd3e

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +33 -0
Dockerfile ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # 1. 安装系统级依赖
6
+ # 这是一个浏览器自动化项目,必须安装这些图形库,否则 camoufox 会报错
7
+ RUN apt-get update && apt-get install -y \
8
+ git wget curl unzip \
9
+ libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \
10
+ libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
11
+ libgbm1 libasound2 libpango-1.0-0 libcairo2 libgtk-3-0 \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # 2. 克隆项目 (直接从原作者仓库拉取,保证最新)
15
+ RUN git clone https://github.com/CloudWaddie/LMArenaBridge.git .
16
+
17
+ # 3. 强制修改端口
18
+ # HuggingFace 强制要求 7860,而源码默认是 8000,不改连不上
19
+ RUN grep -r "8000" . && sed -i 's/8000/7860/g' src/main.py || echo "Port check done"
20
+
21
+ # 4. 安装依赖
22
+ RUN pip install --no-cache-dir --upgrade pip
23
+ RUN pip install --no-cache-dir -r requirements.txt
24
+ # 额外补全 camoufox 和 playwright 依赖
25
+ RUN pip install camoufox[geoip] playwright
26
+
27
+ # 5. 预先下载浏览器内核 (关键步骤)
28
+ # 这一步能防止在启动时因为下载浏览器超时而失败
29
+ RUN python -m camoufox fetch
30
+
31
+ # 6. 启动
32
+ RUN chmod +x src/main.py
33
+ CMD ["python", "src/main.py"]