- 將 Python 安裝分成多個 RUN 步驟 - 修正 apt-get purge 在 lists 清除後失敗的問題 - 添加動態版本號修改步驟到 docker-build-lite.yml - Lite 版 UI 將顯示 X.Y.Z-lite 版本號
5.7 KiB
5.7 KiB
Docker 部署指南
本文件說明如何使用 Docker 部署 ConvertX-CN。
💡 Lite 版:如果您只需要基本轉檔功能,可以使用 Lite 版,Image 體積更小、部署更快。
Docker Image 版本
官方預建版(推薦)
| Tag | 說明 |
|---|---|
convertx/convertx-cn:latest |
Full 版最新穩定版 |
convertx/convertx-cn:latest-lite |
Lite 版最新穩定版 |
convertx/convertx-cn:v0.1.x |
Full 版指定版本號 |
convertx/convertx-cn:v0.1.x-lite |
Lite 版指定版本號 |
Full 版(預設)
Image 大小:約 8-12 GB
內建功能:
- ✅ 核心轉換工具(FFmpeg、LibreOffice、ImageMagick 等)
- ✅ OCR 支援:英文、繁/簡中文、日文、韓文、德文、法文
- ✅ PDF 翻譯:PDFMathTranslate、BabelDOC
- ✅ PDF 轉 Markdown:MinerU
- ✅ 字型:Noto CJK、Liberation、自訂中文字型
- ✅ TexLive(支援 CJK/德/法)
Lite 版(輕量版)
Image 大小:約 1.5-2.5 GB
內建功能:
- ✅ 核心轉換工具(FFmpeg、LibreOffice、GraphicsMagick)
- ✅ 文件轉換(Pandoc)
- ✅ PDF/A 轉換、PDF 防修改、PDF 數位簽章
- ✅ 基本 CJK 字型
- ❌ 不含 OCR、AI 翻譯、MinerU、Calibre
📖 Lite 版詳細說明請參閱 Lite 版部署指南
完整版(自行 Build)
使用 Dockerfile.full 自行建構,適合需要:
- 65 種 OCR 語言
- 完整 TexLive
- 額外字型套件
docker build -f Dockerfile.full -t convertx-cn-full .
⚠️ 注意:Image 大小可能超過 10GB,Build 時間約 30-60 分鐘
Docker Run
基本啟動
docker run -d \
--name convertx-cn \
--restart unless-stopped \
-p 3000:3000 \
-v ./data:/app/data \
-e TZ=Asia/Taipei \
-e JWT_SECRET=你的隨機字串至少32字元 \
convertx/convertx-cn:latest
參數說明
| 參數 | 說明 |
|---|---|
-d |
背景執行 |
--name convertx-cn |
容器名稱 |
--restart unless-stopped |
自動重啟 |
-p 3000:3000 |
連接埠映射 |
-v ./data:/app/data |
資料持久化 |
-e TZ=Asia/Taipei |
時區設定 |
進階選項
docker run -d \
--name convertx-cn \
--restart unless-stopped \
-p 3000:3000 \
-v ./data:/app/data \
-e TZ=Asia/Taipei \
-e JWT_SECRET=你的隨機字串 \
-e ACCOUNT_REGISTRATION=false \
-e HTTP_ALLOWED=true \
-e AUTO_DELETE_EVERY_N_HOURS=24 \
convertx/convertx-cn:latest
資料持久化
Volume 結構
./data/
├── convertx.db # SQLite 資料庫
├── uploads/ # 上傳的原始檔案
└── output/ # 轉換後的檔案
建立資料夾
重要:請務必先建立資料夾,否則 Docker 會建立匿名 volume。
Linux / macOS:
mkdir -p ~/convertx-cn/data
Windows PowerShell:
mkdir C:\convertx-cn\data
備份與還原
備份:
tar -czvf convertx-backup-$(date +%Y%m%d).tar.gz ./data
還原:
tar -xzvf convertx-backup-20260120.tar.gz
硬體加速
NVIDIA GPU (CUDA/NVENC)
-
Docker Compose 配置:
services:
convertx:
image: convertx/convertx-cn:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
environment:
- FFMPEG_ARGS=-hwaccel cuda -hwaccel_output_format cuda
- FFMPEG_OUTPUT_ARGS=-c:v h264_nvenc -preset fast
Intel Quick Sync Video (QSV)
services:
convertx:
image: convertx/convertx-cn:latest
devices:
- /dev/dri:/dev/dri
environment:
- FFMPEG_ARGS=-hwaccel qsv
- FFMPEG_OUTPUT_ARGS=-c:v h264_qsv -preset faster
AMD VAAPI
services:
convertx:
image: convertx/convertx-cn:latest
devices:
- /dev/dri:/dev/dri
environment:
- FFMPEG_ARGS=-hwaccel vaapi -hwaccel_device /dev/dri/renderD128
- FFMPEG_OUTPUT_ARGS=-c:v h264_vaapi
資源限制
記憶體限制
services:
convertx:
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 2G
CPU 限制
services:
convertx:
deploy:
resources:
limits:
cpus: "2"
版本更新
1. 拉取最新版本:
docker pull convertx/convertx-cn:latest
2. 停止並移除舊容器:
docker stop convertx-cn
docker rm convertx-cn
3. 重新啟動(使用相同的參數):
docker run -d --name convertx-cn ...
或使用 Docker Compose:
docker compose pull
docker compose up -d
疑難排解
查看日誌
docker logs convertx-cn
持續追蹤日誌:
docker logs -f convertx-cn
進入容器
docker exec -it convertx-cn /bin/bash
常見問題
| 問題 | 解決方法 |
|---|---|
| 啟動失敗 | 檢查日誌 docker logs |
| Port 被占用 | 改用其他 port -p 8080:3000 |
| 權限錯誤 | chmod -R 777 ./data |
| 記憶體不足 | 增加記憶體限制或減少同時轉換數 |