feat: 改用 CPU-only MinerU,大幅減少 image 大小(~3-5GB)

- Dockerfile: 將 mineru[all] 改為 mineru,移除 PyTorch CUDA 依賴
- Dockerfile.full: 新增 GPU 加速選項(PyTorch CUDA)供進階用戶啟用
- 預估 image 大小從 10-14GB 降至 3-5GB
- MinerU 仍可正常運行(使用 pipeline backend)
This commit is contained in:
Your Name 2026-01-25 20:10:03 +08:00
parent 367f2b4ca6
commit 18e97ecef9
2 changed files with 26 additions and 11 deletions

View file

@ -1,12 +1,14 @@
# ==============================================================================
# ConvertX-CN 官方 Docker Image
# 版本v0.1.16 - 完整重構
# 版本v0.1.16 - CPU-only 輕量
# ==============================================================================
#
# 📦 Image 說明:
# - 這是 ConvertX-CN 官方 Docker Hub Image 的生產 Dockerfile
# - ⚠️ 所有模型、字型、tokenizer 已在 build 階段完整預下載
# - ⚠️ Runtime 完全離線運行(僅翻譯服務允許連網)
# - 💡 此版本為 CPU-only不含 PyTorch CUDAImage 約 3-5GB
# - 🚀 需要 GPU 加速?請使用 Dockerfile.full 或自行安裝 PyTorch CUDA
#
# 🔒 Offline-first 設計原則:
# 1. Runtimedocker run 後):
@ -36,7 +38,7 @@
# - linux/amd64: 功能完整
# - linux/arm64: 安全降級(不支援的工具會跳過)
#
# 📊 Image 大小:約 10-14 GB含完整模型
# 📊 Image 大小:約 3-5 GBCPU-only不含 PyTorch CUDA
#
# ==============================================================================
@ -298,13 +300,15 @@ RUN uv pip install --system --break-system-packages --no-cache pdf2zh
RUN uv pip install --system --break-system-packages --no-cache babeldoc || \
echo "⚠️ babeldoc 安裝可能有警告"
# 6.8 MinerU僅 AMD64
# 6.8 MinerU僅 AMD64CPU-only 模式)
# 💡 使用 mineru不含 [all])避免安裝 PyTorch CUDA節省 ~5-8GB
# 💡 MinerU 會自動使用 pipeline backend 在純 CPU 環境運行
RUN set -ex && \
ARCH=$(uname -m) && \
if [ "$ARCH" = "aarch64" ]; then \
echo "⚠️ ARM64MinerU 不支援,跳過安裝"; \
else \
uv pip install --system --break-system-packages --no-cache -U "mineru[all]"; \
uv pip install --system --break-system-packages --no-cache -U mineru; \
fi
# 6.9 tiktoken

View file

@ -1,12 +1,12 @@
# ==============================================================================
# ConvertX-CN Full 擴充版 Dockerfile
# 版本v0.1.15
# 版本v0.1.16
# ==============================================================================
#
# 📦 Image 說明:
# - 基於 ConvertX-CN 官方 Image一般版)進行擴充
# - 適合需要更多語言 OCR 或完整 TexLive 的進階使用者
# - ⚠️ 體積較大(可能超過 10GB
# - 基於 ConvertX-CN 官方 ImageCPU-only 版)進行擴充
# - 適合需要 GPU 加速、更多語言 OCR 或完整 TexLive 的進階使用者
# - ⚠️ 體積較大(啟用 GPU 後可能超過 10GB
#
# 🎯 適用場景:
# - 需要 65 種 OCR 語言全支援
@ -29,7 +29,17 @@
FROM convertx/convertx-cn:latest
# ==============================================================================
# 📚 完整 TexLive約 +3GB
# 🚀 GPU 加速支援 - PyTorch CUDA約 +5-8GB
# ==============================================================================
# 說明:安裝 PyTorch CUDA 以啟用 MinerU GPU 加速
# 風險Image 體積大幅增加(+5-8GB
# 適用:有 NVIDIA GPU 且需要高速 PDF 解析的使用者
# ------------------------------------------------------------------------------
# RUN pip3 install --no-cache-dir --break-system-packages \
# torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# ==============================================================================
# 完整 TexLive約 +3GB
# ==============================================================================
# 說明:完整 LaTeX 支援,適合需要特殊 LaTeX 套件的使用者
# 風險Image 體積大幅增加
@ -234,17 +244,18 @@ FROM convertx/convertx-cn:latest
# 📋 擴充功能總覽
# ==============================================================================
#
# 一般版已內建功能:
# 一般版已內建功能CPU-only約 3-5GB
# - 核心轉換LibreOffice, FFmpeg, ImageMagick, Pandoc, Inkscape
# - OCRTesseract7 種語言)
# - PDF 翻譯PDFMathTranslate, BabelDOC
# - PDF 轉 MDMinerU
# - PDF 轉 MDMinerUCPU 模式,使用 pipeline backend
# - 字型Noto CJK, Liberation, 標楷體
# - TexLive基礎 + CJK + 德法
# - OpenCV, libavcodec-extra
#
# | 功能 | 預估大小 | 風險等級 |
# |-------------------------|----------|----------|
# | 🚀 GPU 加速 (PyTorch) | +5-8GB | 高 |
# | 完整 TexLive | +3GB | 高 |
# | 全部 OCR 語言 | +2GB | 高 |
# | 歐洲 OCR西歐 | +150MB | 低 |