0xZohar commited on
Commit
a709708
·
verified ·
1 Parent(s): 7cb1471

Upload Dockerfile with huggingface_hub

Browse files
Files changed (1) hide show
  1. Dockerfile +62 -0
Dockerfile ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ # 创建用户(HF Spaces 要求 UID=1000)
4
+ RUN useradd -m -u 1000 user
5
+ USER root
6
+
7
+ # 安装系统依赖(Blender + 渲染库)
8
+ RUN apt-get update && apt-get install -y \
9
+ blender \
10
+ libgl1-mesa-glx \
11
+ libglib2.0-0 \
12
+ libsm6 \
13
+ libxrender1 \
14
+ libxext6 \
15
+ libxi6 \
16
+ libxkbcommon-x11-0 \
17
+ wget \
18
+ unzip \
19
+ git \
20
+ && apt-get clean \
21
+ && rm -rf /var/lib/apt/lists/*
22
+
23
+ # 下载并解压 LDraw 库(LEGO 零件定义)
24
+ RUN echo "📦 Downloading LDraw library..." && \
25
+ wget -q --retry-connrefused --waitretry=5 --tries=3 \
26
+ https://library.ldraw.org/library/updates/complete.zip \
27
+ -O /tmp/ldraw.zip && \
28
+ echo "📂 Extracting LDraw library..." && \
29
+ unzip -q /tmp/ldraw.zip -d /home/user/ && \
30
+ rm /tmp/ldraw.zip && \
31
+ chown -R user:user /home/user/ldraw && \
32
+ echo "✅ LDraw library installed to /home/user/ldraw"
33
+
34
+ # 验证 LDraw 库结构
35
+ RUN test -d /home/user/ldraw/parts && \
36
+ echo "✓ LDraw parts directory exists" || \
37
+ (echo "✗ LDraw installation failed" && exit 1)
38
+
39
+ # 切换到普通用户
40
+ USER user
41
+ ENV HOME=/home/user \
42
+ PATH=/home/user/.local/bin:$PATH \
43
+ LDRAW_LIBRARY_PATH=/home/user/ldraw \
44
+ HF_HOME=/data/.huggingface \
45
+ HF_HUB_CACHE=/data/.huggingface/hub \
46
+ TRANSFORMERS_CACHE=/data/.huggingface/transformers \
47
+ HF_HUB_DISABLE_XET=1
48
+
49
+ WORKDIR $HOME/app
50
+
51
+ # 复制项目文件
52
+ COPY --chown=user . $HOME/app
53
+
54
+ # 安装 Python 依赖
55
+ RUN pip install --no-cache-dir --upgrade pip && \
56
+ pip install --no-cache-dir -r requirements.txt
57
+
58
+ # 暴露端口(Gradio 默认)
59
+ EXPOSE 7860
60
+
61
+ # 启动命令
62
+ CMD ["python", "code/demo.py"]