feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新

 Features:
- 全頁拖曳上傳:檔案可拖曳到頁面任何位置上傳
- 原本的上傳框視覺效果保持不變

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

📚 Documentation:
- README 新增「如何更新 ConvertX-CN 版本」章節
- 新增 deployment.md(Reverse Proxy、HTTPS)
- 新增 Docker Compose 範例分層
- 更新 environment-variables.md
This commit is contained in:
Your Name 2026-01-20 15:09:30 +08:00
parent a0eccf0437
commit a45a049fe2
14 changed files with 1475 additions and 167 deletions

View file

@ -0,0 +1,87 @@
# ==============================================================================
# ConvertX-CN 生產環境 Docker Compose
#
# 適用情境:
# - 透過 Reverse ProxyNginx / Traefik / Caddy存取
# - 已設定 HTTPS
# - 需要限制註冊與存取
#
# ⚠️ 使用前請確認:
# 1. 已建立 data 資料夾
# 2. 已將 JWT_SECRET 改成你自己的值
# 3. 已設定好 Reverse Proxy
# ==============================================================================
services:
convertx:
image: convertx/convertx-cn:latest
container_name: convertx-cn
restart: unless-stopped
# 生產環境通常只監聽 localhost由 Reverse Proxy 轉發
# 若需要直接對外,改為 "3000:3000"
ports:
- "127.0.0.1:3000:3000"
volumes:
- ./data:/app/data
environment:
# === 必填設定 ===
# 🔐 JWT 密鑰:請務必改成你自己的隨機字串(至少 32 字元)
# 可用 openssl rand -hex 32 產生
- JWT_SECRET=change-me-to-a-very-long-random-string-at-least-32-characters
# === 安全設定 ===
# 關閉註冊(首次帳號仍可建立)
- ACCOUNT_REGISTRATION=false
# 不允許 HTTP要求 HTTPS
- HTTP_ALLOWED=false
# 信任 Reverse Proxy 的 X-Forwarded-* headers
- TRUST_PROXY=true
# 必須登入才能使用
- ALLOW_UNAUTHENTICATED=false
# === 時區與清理 ===
- TZ=Asia/Taipei
- AUTO_DELETE_EVERY_N_HOURS=24
# === 可選:子路徑部署 ===
# 若透過 https://example.com/convertx/ 存取,取消下行註解
# - WEBROOT=/convertx
# ==============================================================================
# Reverse Proxy 設定範例
# ==============================================================================
#
# Nginx 範例:
# -------------
# server {
# listen 443 ssl http2;
# server_name example.com;
#
# location / {
# proxy_pass http://127.0.0.1:3000;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
#
# # 檔案上傳大小限制
# client_max_body_size 500M;
# }
# }
#
# Traefik 範例labels
# ------------------------
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.convertx.rule=Host(`convertx.example.com`)"
# - "traefik.http.routers.convertx.tls=true"
# - "traefik.http.routers.convertx.tls.certresolver=letsencrypt"
# - "traefik.http.services.convertx.loadbalancer.server.port=3000"
#
# ==============================================================================