| 123456789101112131415161718192021222324252627282930 |
- FROM python:3.12-slim
- WORKDIR /app
- RUN apt-get update && apt-get install -y --no-install-recommends \
- build-essential \
- curl \
- libpq-dev \
- && rm -rf /var/lib/apt/lists/*
- COPY pyproject.toml uv.lock ./
- # 配置 pip/uv 使用阿里云镜像,Playwright 使用 npmmirror 镜像,使用系统 Python
- ENV PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/
- ENV UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/
- ENV UV_PYTHON_PREFERENCE=system
- ENV PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright/
- RUN pip install --no-cache-dir uv && \
- uv sync --frozen --no-dev
- COPY . .
- # 安装 Playwright Chromium 浏览器(Crawl4AI 依赖)
- RUN .venv/bin/python -m playwright install chromium
- RUN chmod +x entrypoint.sh
- ENTRYPOINT ["./entrypoint.sh"]
- EXPOSE 5000
|