剛才已完成:
- ✅ 42 個檔案變更
- ✅ 新增
app_pytubefix.py(304 行) - ✅ 新增
pytubefix_downloader.py(229 行) - ✅ 更新配置檔案 (requirements.txt, nixpacks.toml, Procfile)
- ✅ 清理 35 個舊文檔
- ✅ 推送到 GitHub:
vincetbear/ymp3 - ✅ Commit:
0e65820
- 開啟瀏覽器前往: https://railway.app/dashboard
- 使用 GitHub 帳號登入
- 點擊 "New Project" 按鈕
- 選擇 "Deploy from GitHub repo"
- 在列表中找到並選擇:
vincetbear/ymp3 - Railway 會自動開始部署
因為專案在子目錄,需要設定:
- 點擊你的服務 (應該顯示為 "ymp3" 或類似名稱)
- 點擊上方的 "Settings" 標籤
- 往下滾動找到 "Root Directory" 設定
- 在輸入框中輸入:
web_version - 點擊右側的 ✓ 或按 Enter 儲存
- Railway 會自動重新部署
在 "Deployments" 標籤中查看進度:
建置日誌應該顯示:
✓ Detected nixpacks.toml
✓ Installing Python 3.9
✓ Installing FFmpeg
✓ Installing pytubefix>=10.0.0
✓ Installing Flask
✓ Installing Gunicorn
✓ Build successful
✓ Starting server
✓ Listening on 0.0.0.0:$PORT
預計時間: 2-5 分鐘
- 回到 "Settings" 標籤
- 找到 "Domains" 區塊
- 點擊 "Generate Domain" 按鈕
- Railway 會自動生成一個 URL,例如:
https://ymp3-production.up.railway.app - 複製這個 URL
開啟剛才複製的 URL,你應該看到:
首頁:
- ✅ YouTube 下載器介面
- ✅ URL 輸入框
- ✅ 類型選擇 (影片/音訊)
- ✅ 畫質選擇
測試下載:
- 貼上 YouTube 網址,例如:
https://www.youtube.com/watch?v=fLyHit9OnhU - 選擇 "音訊" 類型
- 點擊 "開始下載"
- 應該會顯示進度
- 完成後自動下載 MP3 檔案 ✨
- Settings → Root Directory 設定為
web_version - Deployments → 最新部署狀態為 "Success" (綠色勾勾)
- 建置日誌顯示 "Build successful"
- 運行日誌顯示 "Gunicorn running"
- Domains 有一個生成的 URL
- 訪問 URL 可以看到介面
- 可以獲取影片資訊
- 可以下載並自動轉為 MP3
原因: 未設定 Root Directory
解決:
- Settings → Root Directory
- 輸入:
web_version - 重新部署
原因: requirements.txt 未正確讀取
解決:
- 確認 Root Directory 設定正確
- 在 Deployments 標籤點擊 "Redeploy"
檢查建置日誌:
- Deployments → 點擊最新的部署
- 查看 "Build Logs"
- 找出錯誤訊息
常見原因:
- Root Directory 未設定
- nixpacks.toml 配置錯誤
- requirements.txt 格式錯誤
- GitHub 儲存庫:
vincetbear/ymp3 - 分支:
main - 最新 Commit:
0e65820 - 根目錄:
web_version
- Python 版本: 3.11.0 (runtime.txt)
- 啟動指令:
gunicorn app_pytubefix:app - 系統依賴: FFmpeg (via Aptfile + nixpacks.toml)
- Python 依賴:
- flask==3.1.0
- flask-cors==5.0.0
- pytubefix>=10.0.0
- gunicorn==23.0.0
- ✅ 影片下載 (360p, 720p, 1080p, 最佳畫質)
- ✅ 音訊下載並自動轉 MP3 (192kbps)
- ✅ 即時進度顯示
- ✅ 自動清理 (1 小時)
- ✅ RESTful API
- ✅ PWA 支援
pytubefix 版本的優勢:
- ❌ 不需要
YOUTUBE_COOKIES_B64 - ❌ 不需要
USE_PROXY - ❌ 不需要 WebShare 帳號
- ✅ 零配置部署!
你的 Railway URL:
https://你的域名.railway.app
可以分享給其他人使用!
在 Railway Dashboard:
- Metrics 標籤: 查看 CPU、記憶體使用
- Deployments 標籤: 查看部署歷史
- Logs 標籤: 查看運行日誌
如果你有自己的域名:
- Settings → Domains
- 點擊 "Custom Domain"
- 輸入你的域名
- 按照指示設定 DNS
- 每月 500 小時執行時間
- 512 MB RAM
- 1 GB 磁碟空間
- 足夠個人使用!
你的應用提供以下 API:
獲取影片資訊
curl -X POST "https://你的域名.railway.app/api/info" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=xxxxx"}'開始下載
curl -X POST "https://你的域名.railway.app/api/download" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=xxxxx", "type": "audio"}'查詢進度
curl "https://你的域名.railway.app/api/progress/{task_id}"你已經成功:
- ✅ 使用 pytubefix 構建 YouTube 下載器
- ✅ 實現自動 MP3 轉換
- ✅ 推送代碼到 GitHub
- ✅ 準備好部署到 Railway
現在前往 Railway Dashboard 完成最後的部署步驟!
- Railway Dashboard: https://railway.app/dashboard
- GitHub 儲存庫: https://github.com/vincetbear/ymp3
- pytubefix 文檔: https://pytubefix.readthedocs.io/
- Railway 文檔: https://docs.railway.app/
祝部署順利! 🚀
如果遇到任何問題,查看 Railway 的 Logs 標籤或建置日誌來診斷問題。