No description
Find a file
Your Name a45a049fe2 feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新
 Features:
- 全頁拖曳上傳:檔案可拖曳到頁面任何位置上傳
- 原本的上傳框視覺效果保持不變

🌍 i18n:
- 刪除任務的 confirm/alert 訊息改用 i18n
- 隨語言切換即時更新顯示內容

📚 Documentation:
- README 新增「如何更新 ConvertX-CN 版本」章節
- 新增 deployment.md(Reverse Proxy、HTTPS)
- 新增 Docker Compose 範例分層
- 更新 environment-variables.md
2026-01-20 15:09:30 +08:00
.devcontainer fix(docker): add python3-tinycss2 for Inkscape DXF export (#498) 2026-01-11 16:18:46 +01:00
.github fix(ci): 修正 Release workflow 確保 Docker Image 正確發佈 2026-01-20 12:52:02 +08:00
.vscode chore: fix lint 2025-10-05 14:19:13 +00:00
docs feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
fonts feat: bundle full conversion dependencies into image 2026-01-19 22:00:45 +08:00
images fix: wrong layout on search with few options 2024-09-26 23:37:19 +02:00
public feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
src feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
tests/converters fix(libreoffice): PDF 轉 DOCX 修正 (v0.1.8) 2026-01-20 14:38:17 +08:00
.bun-version chore: add bun version files 2025-08-13 23:35:07 +02:00
.dockerignore refactor: split main file to pages 2025-06-03 15:04:18 +02:00
.gitignore chore: add devcontainer 2025-10-05 13:57:54 +00:00
biome.json chore: fix lint 2025-10-05 14:19:13 +00:00
bun.lock feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00
CHANGELOG.md feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
compose.yaml feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
Dockerfile feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
Dockerfile.full feat(docker): 重組 Docker 架構 v0.1.6 2026-01-20 12:46:49 +08:00
eslint.config.ts fix(ci): resolve all lint errors for GitHub Actions 2026-01-20 12:16:13 +08:00
knip.json fix(ci): resolve all lint errors for GitHub Actions 2026-01-20 12:16:13 +08:00
LICENSE chore: add devcontainer 2025-10-05 13:57:54 +00:00
mise.toml chore: add comment to dev compose file 2026-01-11 17:46:56 +01:00
package.json feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
postcss.config.js chore: fix lint 2025-10-05 14:19:13 +00:00
prettier.config.js feature: add download all file by file alongside the tar download (#415) 2025-10-07 21:27:31 +02:00
README.md feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新 2026-01-20 15:09:30 +08:00
renovate.json chore: add bun to renovate ignore 2025-10-07 20:56:55 +00:00
SECURITY.md chore: fix lint 2025-10-05 14:19:13 +00:00
tsconfig.eslint.json chore: fix typescript-eslint (#439) 2025-11-15 20:15:02 +01:00
tsconfig.json feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00

ConvertX-CN

ConvertX-CN

開箱即用的全功能檔案轉換服務 | Self-hosted File Converter - Full Edition

Docker Docker Pulls GitHub Release License


什麼是 ConvertX-CN

ConvertX-CN 是基於 C4illin/ConvertX完整版 Fork,專為中文使用者優化,並預載所有轉換依賴。

🎉 一鍵部署,無需額外配置
使用者 不需要自己寫 Dockerfile,直接 docker rundocker compose up 即可使用。

主要特色

特色 說明
🌍 65+ 語言支援 繁體中文、簡體中文、英文、日文、韓文等 65 種語言
📦 完整內建 LibreOffice、FFmpeg、Pandoc、Calibre 等 20+ 轉換器
🎨 CJK 字型 Noto CJK、微軟核心字型、標楷體等中日韓字型
🔤 OCR 支援 Tesseract + 多語言語言包
LaTeX 完整版 TexLive Full支援所有 LaTeX 需求
🐳 開箱即用 一個 Docker 命令即可啟動

📚 關於本文件

📖 本 README 定位為「新手教學入口」

我們的 docker-compose.yml 範例刻意保留完整註解,而非極簡化:

  • 讓第一次用 Docker 的人也能成功部署
  • 透過註解說明每個設定的意義與風險
  • 避免新手踩雷(登入失敗、資料遺失等)

如果你是 Docker 老手,可直接使用 精簡版範例


🚀 新手完整部署教學(一步一步)

⚠️ 請務必按順序執行,不要跳過任何步驟!

步驟 1安裝 Docker

如果尚未安裝 Docker請先安裝

  • Windows / macOS: 下載 Docker Desktop
  • Linux: 執行 curl -fsSL https://get.docker.com | sh

步驟 2建立 data 資料夾(⚠️ 非常重要)

🚨 這一步絕對不能跳過!

data 資料夾是用來存放:

  • 📁 上傳的檔案
  • 📁 轉換後的結果
  • 📁 使用者資料與設定

如果不先建立這個資料夾Docker 可能會建立「匿名 volume」導致

  • 容器刪除後資料全部消失
  • 無法在主機上找到轉換結果
  • 難以備份與遷移

請根據你的作業系統執行對應指令:

Linux / macOS

# 建立專案資料夾(可自訂位置)
mkdir -p ~/convertx-cn
cd ~/convertx-cn

# 建立 data 資料夾
mkdir -p data

# 確認資料夾已建立
ls -la
# 應該看到 data 資料夾

WindowsPowerShell

# 建立專案資料夾(可自訂位置)
mkdir C:\convertx-cn
cd C:\convertx-cn

# 建立 data 資料夾
mkdir data

# 確認資料夾已建立
dir
# 應該看到 data 資料夾

WindowsCMD

:: 建立專案資料夾(可自訂位置)
mkdir C:\convertx-cn
cd C:\convertx-cn

:: 建立 data 資料夾
mkdir data

:: 確認資料夾已建立
dir
:: 應該看到 data 資料夾

步驟 3建立 docker-compose.yml

在剛才建立的資料夾中,建立 docker-compose.yml 檔案:

# ==============================================================================
# ConvertX-CN 新手教學版 docker-compose.yml
#
# 📚 這份範例刻意保留完整註解,讓第一次用 Docker 的人也能成功部署
# ==============================================================================

services:
  convertx:
    # ===== 映像檔設定 =====
    # convertx-cn 是完整版,已內建所有轉換工具(約 4-6 GB
    image: convertx/convertx-cn:latest
    container_name: convertx-cn
    restart: unless-stopped

    # ===== 連接埠設定 =====
    # 格式:「主機埠號:容器埠號」
    # 若 3000 埠已被佔用,可改為 3001:3000、8080:3000 等
    ports:
      - "3000:3000"

    # ===== 資料儲存(⚠️ 非常重要)=====
    # ./data 是你主機上的實體資料夾
    # /app/data 是容器內的路徑
    #
    # 🚨 注意事項:
    #    1. 請務必先建立 data 資料夾(見上方步驟 2
    #    2. 這裡存放:上傳檔案、轉換結果、使用者資料
    #    3. 若改用 Docker volume如 convertx_data:/app/data
    #       資料會存在 Docker 內部,較難直接存取
    volumes:
      - ./data:/app/data

    # ===== 環境變數設定 =====
    environment:
      # --- 時區設定 ---
      # 影響檔案時間戳記與日期顯示
      - TZ=Asia/Taipei

      # --- JWT 密鑰(🔐 建議設定)---
      # 用於使用者登入驗證的加密金鑰
      # ⚠️ 若不設定:每次重啟容器後所有人都會被登出
      # ⚠️ 正式使用請改成你自己的隨機字串!
      - JWT_SECRET=請改成你自己的長隨機字串-至少32個字元

      # --- 帳號註冊 ---
      # true  = 允許任何人註冊新帳號
      # false = 關閉註冊(建議正式使用時設為 false
      # 💡 首次建立的帳號不受此限制
      - ACCOUNT_REGISTRATION=true

      # --- HTTP 存取設定 ---
      # true  = 允許非 HTTPS 連線(⚠️ 不安全,僅本地測試用)
      # false = 必須 HTTPSCookie 才會正常運作)
      #
      # 🏠 本地測試localhost設為 true
      # 🌐 遠端部署(有 HTTPS設為 false
      - HTTP_ALLOWED=true

      # --- Reverse Proxy 設定 ---
      # 若你透過 Nginx / Traefik / Cloudflare 等存取,設為 true
      # 讓應用正確判斷連線是否為 HTTPS
      - TRUST_PROXY=false

      # --- 未登入存取 ---
      # true  = 允許未登入使用轉換功能(⚠️ 公開服務才開)
      # false = 必須登入才能使用
      - ALLOW_UNAUTHENTICATED=false

      # --- 自動清理 ---
      # 自動刪除超過 N 小時的轉換檔案0 = 不自動刪除)
      - AUTO_DELETE_EVERY_N_HOURS=24

步驟 4啟動服務

# 啟動(首次會下載映像檔,約 4-6 GB請耐心等待
docker compose up -d

# 查看執行狀態
docker compose ps

# 查看 log確認沒有錯誤
docker compose logs -f
# 按 Ctrl+C 可退出 log 查看

步驟 5開啟瀏覽器使用

  1. 開啟瀏覽器,訪問 http://localhost:3000
  2. 點擊 Register 註冊第一個帳號
  3. 登入後即可開始轉換檔案!

首次註冊的帳號會自動成為管理員


⚠️ 新手常見問題與解決方案

問題 1登入後又被導回登入頁

原因Cookie 無法正確設定(常見於遠端部署)

解決方案

  • 若使用 HTTP無 HTTPS設定 HTTP_ALLOWED=true
  • 若透過 Reverse Proxy設定 TRUST_PROXY=true

問題 2重啟容器後資料消失

原因:沒有正確掛載 volume

解決方案

  1. 確認已建立 data 資料夾
  2. 確認 docker-compose.yml 中有 ./data:/app/data
  3. 不要使用 docker run 時忘記加 -v ./data:/app/data

問題 3重啟後所有人被登出

原因:沒有設定 JWT_SECRET

解決方案:設定固定的 JWT_SECRET 環境變數

問題 43000 埠被佔用

解決方案:改用其他埠號,如 "8080:3000"


<EFBFBD> 如何更新 ConvertX-CN 版本

當有新版本發布時,請依照以下步驟更新。

使用 Docker Compose 更新(推薦)

# 1. 進入你的 ConvertX-CN 專案資料夾
cd ~/convertx-cn  # 或你當初建立的位置

# 2. 停止目前執行中的服務
docker compose down

# 3. 拉取最新的映像檔
docker compose pull

# 4. 重新啟動服務
docker compose up -d

# 5. 確認版本(查看 log
docker compose logs | head -20

更新到指定版本

如果你想更新到特定版本(例如 v0.1.9),請修改 docker-compose.yml

services:
  convertx:
    image: convertx/convertx-cn:v0.1.9 # 改成指定版本

然後執行:

docker compose down
docker compose pull
docker compose up -d

驗證更新成功

開啟瀏覽器訪問 http://localhost:3000,頁面底部會顯示版本號。


<EFBFBD>🔧 進階設定

更多進階設定請參考:docs/environment-variables.md


🌍 語言支援

ConvertX-CN 支援 65 種語言,包括:

區域 語言
東亞 繁體中文(預設)、简体中文、日本語、한국어
歐洲 English, Deutsch, Français, Español, Italiano 等
中東/南亞 العربية, עברית, हिन्दी, தமிழ் 等
東南亞 ไทย, Tiếng Việt, Bahasa Indonesia 等

語言會根據瀏覽器設定自動偵測,也可透過右上角選單手動切換。


📦 內建轉換器

轉換器 用途 支援格式數
FFmpeg 影音 400+
ImageMagick 圖片 200+
LibreOffice 文件 60+
Pandoc 文件 100+
Calibre 電子書 40+
Inkscape 向量圖 20+

完整列表 → docs/converters.md


🐳 Docker Image 資訊

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

⚠️ 首次下載說明
由於內建完整依賴LibreOffice、TexLive 等),映像檔約 4-6 GB
首次 docker pull 需要較長時間,請耐心等待。


📖 更多文件

文件 說明
⚙️ 環境變數 所有環境變數完整說明
🚀 進階部署 Reverse Proxy、HTTPS、生產
🐳 Docker 進階 自訂 Build、Image 說明
📦 轉換器列表 支援的格式完整列表
常見問題 更多疑難排解
📁 Docker Compose 範例 各種情境的範例檔案

📸 預覽

ConvertX-CN Preview


🛠️ 開發者資訊

# 安裝依賴
bun install

# 開發模式
bun run dev

# 建構
bun run build

歡迎 Pull Request請使用 Conventional Commits 格式。


🙏 致謝

本專案基於 C4illin/ConvertX 開發。


📜 License

MIT License


Powered by ConvertX-CN
https://github.com/pi-docket/ConvertX-CN