## Changes ### i18n Module Fixes - Fix import paths in service.ts, languageSelector.tsx, header.tsx, base.tsx, results.tsx - Change from '../i18n' to '../i18n/index' or './index' for proper module resolution ### Registration (Breaking Change) - Change ACCOUNT_REGISTRATION default from false to true (out-of-box ready) - Login and Register pages now both visible by default ### Version Bump - Update package.json to v0.1.4 - Update CHANGELOG.md with v0.1.4 release notes - Update README.md and docs with new version numbers ### Build Verification - bun run build: PASSED - Docker build: PASSED - TypeScript compilation: PASSED (no errors)
158 lines
3.7 KiB
Markdown
158 lines
3.7 KiB
Markdown
# 環境變數設定
|
||
|
||
所有環境變數皆為選填,建議至少設定 `JWT_SECRET`。
|
||
|
||
---
|
||
|
||
## 安全性設定
|
||
|
||
| 變數名稱 | 預設值 | 說明 |
|
||
| ----------------------- | -------------- | ----------------------------------------------- |
|
||
| `JWT_SECRET` | `randomUUID()` | 用於簽署 JWT 的密鑰字串。**生產環境請務必設定** |
|
||
| `ACCOUNT_REGISTRATION` | `true` | 是否允許註冊新帳號(預設開放) |
|
||
| `HTTP_ALLOWED` | `false` | 是否允許 HTTP 連線(僅本地使用建議開啟) |
|
||
| `ALLOW_UNAUTHENTICATED` | `false` | 是否允許未登入使用 |
|
||
|
||
### 安全建議
|
||
|
||
```yaml
|
||
# 生產環境(關閉註冊)
|
||
environment:
|
||
- JWT_SECRET=a-very-long-random-string-at-least-32-characters
|
||
- ACCOUNT_REGISTRATION=false
|
||
- HTTP_ALLOWED=false
|
||
- ALLOW_UNAUTHENTICATED=false
|
||
```
|
||
|
||
---
|
||
|
||
## 檔案管理
|
||
|
||
| 變數名稱 | 預設值 | 說明 |
|
||
| --------------------------- | ------ | ------------------------------------- |
|
||
| `AUTO_DELETE_EVERY_N_HOURS` | `24` | 自動刪除超過 N 小時的檔案(0 = 停用) |
|
||
|
||
### 範例
|
||
|
||
```yaml
|
||
# 每 48 小時清理一次
|
||
- AUTO_DELETE_EVERY_N_HOURS=48
|
||
|
||
# 停用自動清理
|
||
- AUTO_DELETE_EVERY_N_HOURS=0
|
||
```
|
||
|
||
---
|
||
|
||
## 轉換設定
|
||
|
||
| 變數名稱 | 預設值 | 說明 |
|
||
| --------------------- | ------ | ---------------------------------------- |
|
||
| `MAX_CONVERT_PROCESS` | `0` | 最大同時轉換數(0 = 無限制) |
|
||
| `FFMPEG_ARGS` | - | FFmpeg 輸入參數,例如 `-hwaccel vaapi` |
|
||
| `FFMPEG_OUTPUT_ARGS` | - | FFmpeg 輸出參數,例如 `-preset veryfast` |
|
||
|
||
### 硬體加速範例
|
||
|
||
```yaml
|
||
# NVIDIA GPU 加速
|
||
- FFMPEG_ARGS=-hwaccel cuda
|
||
|
||
# Intel QSV 加速
|
||
- FFMPEG_ARGS=-hwaccel qsv
|
||
|
||
# AMD VAAPI 加速
|
||
- FFMPEG_ARGS=-hwaccel vaapi
|
||
```
|
||
|
||
---
|
||
|
||
## 介面設定
|
||
|
||
| 變數名稱 | 預設值 | 說明 |
|
||
| -------------- | ------- | ---------------------------- |
|
||
| `WEBROOT` | - | 子路徑部署,例如 `/convertx` |
|
||
| `HIDE_HISTORY` | `false` | 隱藏歷史紀錄頁面 |
|
||
|
||
### 子路徑部署
|
||
|
||
如果需要在子路徑部署(如 `https://example.com/convertx`):
|
||
|
||
```yaml
|
||
- WEBROOT=/convertx
|
||
```
|
||
|
||
---
|
||
|
||
## 本地化設定
|
||
|
||
| 變數名稱 | 預設值 | 說明 |
|
||
| ---------- | ------ | --------------------------- |
|
||
| `LANGUAGE` | `en` | 日期格式語言(BCP 47 格式) |
|
||
| `TZ` | `UTC` | 時區設定 |
|
||
|
||
### 常用時區
|
||
|
||
```yaml
|
||
# 台灣
|
||
- TZ=Asia/Taipei
|
||
|
||
# 中國
|
||
- TZ=Asia/Shanghai
|
||
|
||
# 日本
|
||
- TZ=Asia/Tokyo
|
||
|
||
# 美國東部
|
||
- TZ=America/New_York
|
||
```
|
||
|
||
---
|
||
|
||
## 進階設定
|
||
|
||
| 變數名稱 | 預設值 | 說明 |
|
||
| ------------------------------ | ------- | ---------------------------- |
|
||
| `UNAUTHENTICATED_USER_SHARING` | `false` | 未登入使用者是否共享檔案空間 |
|
||
|
||
---
|
||
|
||
## 完整範例
|
||
|
||
### 開發環境
|
||
|
||
```yaml
|
||
environment:
|
||
- HTTP_ALLOWED=true
|
||
- ACCOUNT_REGISTRATION=true
|
||
- TZ=Asia/Taipei
|
||
```
|
||
|
||
### 生產環境
|
||
|
||
```yaml
|
||
environment:
|
||
- JWT_SECRET=your-very-long-and-random-secret-key-change-me
|
||
- ACCOUNT_REGISTRATION=false
|
||
- HTTP_ALLOWED=false
|
||
- TZ=Asia/Taipei
|
||
- AUTO_DELETE_EVERY_N_HOURS=24
|
||
```
|
||
|
||
### 公開服務(允許匿名使用)
|
||
|
||
```yaml
|
||
environment:
|
||
- ALLOW_UNAUTHENTICATED=true
|
||
- HIDE_HISTORY=true
|
||
- AUTO_DELETE_EVERY_N_HOURS=1
|
||
```
|
||
|
||
### 帶硬體加速
|
||
|
||
```yaml
|
||
environment:
|
||
- JWT_SECRET=your-secret-key
|
||
- FFMPEG_ARGS=-hwaccel cuda
|
||
- FFMPEG_OUTPUT_ARGS=-c:v h264_nvenc -preset fast
|
||
```
|