2.2 KiB
2.2 KiB
Railway 部署指南
您的專案已經配置好支援 Railway (線上) 和 Docker (本地) 雙重部署。兩者共用程式碼,但使用不同的設定檔。
1. 部署架構
- 本地 (Docker): 使用
docker-compose.yml,自動配置網絡和環境變數。 - 線上 (Railway): 使用
railway.toml定義服務構建方式,但需要您手動設定環境變數。
2. Railway 環境變數設定 (必填)
在 Railway 的專案 Dashboard 中,請為各個服務設定以下變數:
Backend 服務
| 變數名稱 | 值 / 說明 |
|---|---|
TRADINGAGENTS_RESULTS_DIR |
/app/results (建議值) |
TRADINGAGENTS_DATA_CACHE_DIR |
/app/results/data_cache (確保數據可寫入) |
PORT |
Railway 會自動注入,通常不需要手動設。 |
OPENAI_API_KEY |
(BYOK 模式請勿設定) 若您希望使用者使用自己的 Key,請不要在此設定。 |
ALPHA_VANTAGE_API_KEY |
(BYOK 模式請勿設定) 同上。 |
注意:
- BYOK 模式: 若不設定 API Key,使用者在前端網頁必須自行輸入 Key 才能進行分析,否則會報錯。這適合公開分享。
- 數據持久化: Railway 的檔案系統是短暫的。若需持久化數據,請在 Railway 服務設定中掛載 Volume 到
/app/results。
Frontend 服務
| 變數名稱 | 值 / 說明 |
|---|---|
BACKEND_URL |
https://<您的-backend-服務網域>.up.railway.app (填入 Backend 的公開網址) |
NEXT_PUBLIC_API_URL |
(留空或不設定) |
3. 部署步驟
- 將程式碼推送到 GitHub。
- 在 Railway 新增專案 -> "Deploy from GitHub repo"。
- Railway 會自動檢測
railway.toml並建立 Backend 和 Frontend 兩個服務。 - 在服務啟動前 (或啟動失敗後),進入 "Variables" 分頁設定上述變數。
- 設定完成後,Railway 會自動重新部署。
4. 常見問題
- Frontend 404: 檢查 Frontend 的
BACKEND_URL是否正確指向 Backend 的公開網址 (需包含https://)。 - Backend 401: 檢查 Backend 的
OPENAI_API_KEY是否正確。 - Backend 500 (Permission Denied): 確保已設定
TRADINGAGENTS_DATA_CACHE_DIR=/app/results/data_cache並且 (選用) 掛載了 Volume。