feat: v0.1.9 - Setup 頁面 i18n + 語言選擇器 UI 修復 + 文件重構

 Features:
- 全頁拖曳上傳:檔案可拖曳到頁面任何位置
- Setup 頁面新增語言選擇器

🐛 Bug Fixes:
- 語言 icon 尺寸修復(h-5→h-6)
- Dropdown 背景完全不透明
- 新增 scrollbar 樣式

🌍 i18n:
- 所有 confirm/alert 訊息國際化
- Setup 頁面 i18n 完整化

📚 Documentation:
- README 精簡為開箱即用版本
- 新增 docs/deployment/, docs/config/, docs/versions/
This commit is contained in:
Your Name 2026-01-20 15:55:49 +08:00
parent a45a049fe2
commit d563682753
14 changed files with 1305 additions and 594 deletions

View file

@ -1,154 +1,27 @@
# 環境變數設定
本文件列出 ConvertX-CN 所有可用的環境變數設定。
> 📦 本文件已遷移至新位置,請參閱:[docs/config/environment.md](config/environment.md)
---
## 快速參考
| 重要程度 | 變數 | 說明 |
| -------- | -------------- | ---------------- |
| 🔴 必填 | `JWT_SECRET` | 生產環境必須設定 |
| 🟡 建議 | `TZ` | 時區設定 |
| 🟡 建議 | `HTTP_ALLOWED` | 是否允許 HTTP |
| 🟢 可選 | 其他 | 依需求設定 |
完整說明請參考 [環境變數完整說明](config/environment.md)。
| 優先級 | 變數 | 說明 |
| ------ | -------------- | ------------- |
| 必填 | `JWT_SECRET` | 登入驗證金鑰 |
| 建議 | `TZ` | 時區設定 |
| 建議 | `HTTP_ALLOWED` | 是否允許 HTTP |
| 可選 | `TRUST_PROXY` | 信任反向代理 |
---
## 🔴 必填設定(生產環境)
## 相關文件
### JWT_SECRET
| 項目 | 說明 |
| ------ | ---------------------------------- |
| 預設值 | `randomUUID()`(每次重啟都會改變) |
| 用途 | 用於簽署 JWT 的密鑰字串 |
**⚠️ 重要**:若不設定,每次容器重啟後所有使用者都需要重新登入。
**產生方式**
```bash
# Linux / macOS
openssl rand -hex 32
# 輸出範例
# a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6
```
**設定方式**
```yaml
environment:
- JWT_SECRET=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6
```
---
## 🟡 建議設定
### TZ時區
| 項目 | 說明 |
| ------ | ------------------------------ |
| 預設值 | `UTC` |
| 用途 | 影響檔案時間戳記與日期顯示格式 |
**常用值**
| 地區 | 設定值 |
| ---- | --------------------- |
| 台灣 | `Asia/Taipei` |
| 中國 | `Asia/Shanghai` |
| 香港 | `Asia/Hong_Kong` |
| 日本 | `Asia/Tokyo` |
| 美東 | `America/New_York` |
| 美西 | `America/Los_Angeles` |
| 英國 | `Europe/London` |
### HTTP_ALLOWED
| 項目 | 說明 |
| ------ | --------------------- |
| 預設值 | `false` |
| 用途 | 是否允許非 HTTPS 連線 |
**設定指南**
| 情境 | 設定值 |
| ------------------------------ | ------- |
| 本地測試http://localhost | `true` |
| 遠端部署且有 HTTPS | `false` |
| 遠端部署但沒有 HTTPS不建議 | `true` |
**⚠️ 常見問題**:若設為 `false` 但實際用 HTTP 存取,會導致「登入後又被導回登入頁」。
### TRUST_PROXY
| 項目 | 說明 |
| ------ | ------------------------------------ |
| 預設值 | `false` |
| 用途 | 透過 Reverse Proxy 存取時設為 `true` |
讓應用程式信任 `X-Forwarded-Proto` 等 headers正確判斷連線是否為 HTTPS。
**設定指南**
| 情境 | 設定值 |
| ---------------------------- | ------- |
| 直接存取容器(無 Proxy | `false` |
| 透過 Nginx / Traefik / Caddy | `true` |
---
## 🔒 安全性設定
### ACCOUNT_REGISTRATION
| 項目 | 說明 |
| ------ | ------------------ |
| 預設值 | `true` |
| 用途 | 是否允許註冊新帳號 |
**💡 注意**:首次註冊的帳號不受此限制,即使設為 `false` 仍可建立第一個帳號。
**建議**
- 首次部署時設為 `true`
- 註冊好管理員帳號後改為 `false`
### ALLOW_UNAUTHENTICATED
| 項目 | 說明 |
| ------ | -------------------------- |
| 預設值 | `false` |
| 用途 | 是否允許未登入使用轉換功能 |
**⚠️ 風險**:設為 `true` 時:
- 任何人都可使用伺服器資源
- 可能被濫用(大量轉換、儲存空間耗盡)
**建議**:除非明確要提供公開服務,否則保持 `false`
---
## 📁 檔案管理
### AUTO_DELETE_EVERY_N_HOURS
| 項目 | 說明 |
| ------ | ------------------------------------- |
| 預設值 | `24` |
| 用途 | 自動刪除超過 N 小時的檔案0 = 停用) |
**範例**
```yaml
# 每 48 小時清理一次
- AUTO_DELETE_EVERY_N_HOURS=48
# 停用自動清理(不建議,會佔滿磁碟)
- AUTO_DELETE_EVERY_N_HOURS=0
```
- [環境變數完整說明](config/environment.md)
- [安全性設定](config/security.md)
- [進階部署指南](deployment.md)
---