convertor/docs/environment-variables.md
Your Name 558d638df8 feat(v0.1.4): Fix i18n imports + Default open registration
## 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)
2026-01-20 11:41:43 +08:00

158 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 環境變數設定
所有環境變數皆為選填,建議至少設定 `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
```