11FROM python:3.10-slim
22
3- # 设置环境变量
3+ # Set environment variables
44ENV PYTHONDONTWRITEBYTECODE=1 \
55 PYTHONUNBUFFERED=1 \
66 PIP_NO_CACHE_DIR=0 \
@@ -10,51 +10,50 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
1010 DEBIAN_FRONTEND=noninteractive \
1111 PATH="/app/.venv/bin:$PATH"
1212
13- # 设置工作目录
13+ # Set working directory
1414WORKDIR /app
1515
16- # 安装系统依赖(合并为一个RUN命令减少层数)
16+ # Install system dependencies (combine into one RUN command to reduce layers)
1717RUN apt-get update && apt-get install -y --no-install-recommends \
1818 curl git ffmpeg libsm6 libxext6 xvfb xauth x11-utils \
19- build-essential python3-dev \
19+ build-essential python3-dev vim \
2020 && apt-get clean \
2121 && rm -rf /var/lib/apt/lists/*
2222
23- # 安装uv工具
23+ # Install uv tool
2424RUN pip install uv
2525
26- # 复制构建项目文件
26+ # Copy project build files
2727COPY pyproject.toml .
2828COPY README.md .
29- # 如果README.md不存在则创建
30- RUN if [ ! -f "README.md" ]; then echo -e "# OWL Project\n\n 这是OWL项目的Docker环境。 " > README.md; fi
29+ # Create README.md if it doesn't exist
30+ RUN if [ ! -f "README.md" ]; then echo -e "# OWL Project\n\n This is the Docker environment for the OWL project. " > README.md; fi
3131
32- # 创建虚拟环境并安装依赖
32+ # Create virtual environment and install dependencies
3333RUN uv venv .venv --python=3.10 && \
3434 . .venv/bin/activate && \
3535 uv pip install -e .
3636
37- # 复制运行项目文件
37+ # Copy project runtime files
3838COPY owl/ ./owl/
3939COPY licenses/ ./licenses/
4040COPY assets/ ./assets/
4141COPY README_zh.md .
4242
43-
44- # 创建启动脚本
43+ # Create startup script
4544RUN echo '#!/bin/bash\n xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" python "$@"' > /usr/local/bin/xvfb-python && \
4645 chmod +x /usr/local/bin/xvfb-python
4746
48- # 创建欢迎脚本
49- RUN echo '#!/bin/bash\n echo "欢迎使用OWL项目Docker环境! "\n echo "Welcome to OWL Project Docker environment!"\n echo ""\n echo "可用的脚本 | Available scripts:"\n ls -1 *.py | grep -v "__" | sed "s/^/- /"\n echo ""\n echo "运行示例 | Run examples:"\n echo " xvfb-python run.py # 运行默认脚本 | Run default script"\n echo " xvfb-python run_deepseek_example.py # 运行DeepSeek示例 | Run DeepSeek example"\n echo ""\n echo "或者使用自定义查询 | Or use custom query:"\n echo " xvfb-python run.py \" 你的问题 | Your question\" "\n echo ""' > /usr/local/bin/owl-welcome && \
47+ # Create welcome script
48+ RUN echo '#!/bin/bash\n echo "Welcome to the OWL Project Docker environment! "\n echo "Welcome to OWL Project Docker environment!"\n echo ""\n echo "Available scripts:"\n ls -1 *.py | grep -v "__" | sed "s/^/- /"\n echo ""\n echo "Run examples:"\n echo " xvfb-python run.py # Run default script"\n echo " xvfb-python run_deepseek_example.py # Run DeepSeek example"\n echo ""\n echo "Or use custom query:"\n echo " xvfb-python run.py \" Your question\" "\n echo ""' > /usr/local/bin/owl-welcome && \
5049 chmod +x /usr/local/bin/owl-welcome
5150
52- # 设置工作目录
51+ # Set working directory
5352WORKDIR /app/owl
5453
55- # 添加健康检查
54+ # Add health check
5655HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
5756 CMD python -c "import sys; sys.exit(0 if __import__('os').path.exists('/app/owl') else 1)"
5857
59- # 容器启动命令
58+ # Container startup command
6059CMD ["/bin/bash" , "-c" , "owl-welcome && /bin/bash" ]
0 commit comments