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 # ConvertX-CN 官方 Docker Image
# 版本v0.1.16 - 完整重構 # 版本v0.1.16 - CPU-only 輕量
# ============================================================================== # ==============================================================================
# #
# 📦 Image 說明: # 📦 Image 說明:
# - 這是 ConvertX-CN 官方 Docker Hub Image 的生產 Dockerfile # - 這是 ConvertX-CN 官方 Docker Hub Image 的生產 Dockerfile
# - ⚠️ 所有模型、字型、tokenizer 已在 build 階段完整預下載 # - ⚠️ 所有模型、字型、tokenizer 已在 build 階段完整預下載
# - ⚠️ Runtime 完全離線運行(僅翻譯服務允許連網) # - ⚠️ Runtime 完全離線運行(僅翻譯服務允許連網)
# - 💡 此版本為 CPU-only不含 PyTorch CUDAImage 約 3-5GB
# - 🚀 需要 GPU 加速?請使用 Dockerfile.full 或自行安裝 PyTorch CUDA
# #
# 🔒 Offline-first 設計原則: # 🔒 Offline-first 設計原則:
# 1. Runtimedocker run 後): # 1. Runtimedocker run 後):
@ -36,7 +38,7 @@
# - linux/amd64: 功能完整 # - linux/amd64: 功能完整
# - linux/arm64: 安全降級(不支援的工具會跳過) # - 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 || \ RUN uv pip install --system --break-system-packages --no-cache babeldoc || \
echo "⚠️ 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 && \ RUN set -ex && \
ARCH=$(uname -m) && \ ARCH=$(uname -m) && \
if [ "$ARCH" = "aarch64" ]; then \ if [ "$ARCH" = "aarch64" ]; then \
echo "⚠️ ARM64MinerU 不支援,跳過安裝"; \ echo "⚠️ ARM64MinerU 不支援,跳過安裝"; \
else \ 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 fi
# 6.9 tiktoken # 6.9 tiktoken

View file

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