convertor/docs/deployment/docker.md
Your Name da856d89ff feat(i18n): add multilingual support with translations for English, Japanese, and Simplified Chinese
- Create README.md for internationalization (i18n) documentation
- Add English translation for main README and quick start guide
- Add Japanese translation for main README
- Add Simplified Chinese translation for main README
- Introduce sample Docker Compose configurations for various deployment scenarios
- Implement CI/CD documentation for testing and deployment workflows
- Establish end-to-end testing guidelines and strategies
- Create test strategy documentation outlining unit, integration, and E2E tests
2026-01-23 14:32:27 +08:00

4.8 KiB
Raw Blame History

Docker 部署指南

本文件說明如何使用 Docker 部署 ConvertX-CN。


Docker Image 版本

官方預建版(推薦)

Tag 說明
convertx/convertx-cn:latest 最新穩定版
convertx/convertx-cn:v0.1.x 指定版本號

內建功能:

  • 核心轉換工具FFmpeg、LibreOffice、ImageMagick 等)
  • OCR 支援:英文、繁/簡中文、日文、韓文、德文、法文
  • 字型Noto CJK、Liberation、自訂中文字型
  • TexLive支援 CJK/德/法)

Image 大小:約 4-6 GB

完整版(自行 Build

使用 Dockerfile.full 自行建構,適合需要:

  • 65 種 OCR 語言
  • 完整 TexLive
  • 額外字型套件
docker build -f Dockerfile.full -t convertx-cn-full .

⚠️ 注意Image 大小可能超過 10GBBuild 時間約 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)

  1. 安裝 NVIDIA Container Toolkit

  2. 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"

版本更新

# 拉取最新版本
docker pull convertx/convertx-cn:latest

# 停止並移除舊容器
docker stop convertx-cn
docker rm convertx-cn

# 重新啟動(使用相同的參數)
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
記憶體不足 增加記憶體限制或減少同時轉換數

相關文件