Skip to content

Latest commit

 

History

History
265 lines (189 loc) · 5.73 KB

File metadata and controls

265 lines (189 loc) · 5.73 KB

🎉 代碼已推送!現在部署到 Railway

✅ Git 推送完成

剛才已完成:

  • ✅ 42 個檔案變更
  • ✅ 新增 app_pytubefix.py (304 行)
  • ✅ 新增 pytubefix_downloader.py (229 行)
  • ✅ 更新配置檔案 (requirements.txt, nixpacks.toml, Procfile)
  • ✅ 清理 35 個舊文檔
  • ✅ 推送到 GitHub: vincetbear/ymp3
  • ✅ Commit: 0e65820

🚀 Railway 部署步驟

步驟 1: 登入 Railway

  1. 開啟瀏覽器前往: https://railway.app/dashboard
  2. 使用 GitHub 帳號登入

步驟 2: 創建新專案

  1. 點擊 "New Project" 按鈕
  2. 選擇 "Deploy from GitHub repo"
  3. 在列表中找到並選擇: vincetbear/ymp3
  4. Railway 會自動開始部署

步驟 3: 設定根目錄 ⚠️ 重要!

因為專案在子目錄,需要設定:

  1. 點擊你的服務 (應該顯示為 "ymp3" 或類似名稱)
  2. 點擊上方的 "Settings" 標籤
  3. 往下滾動找到 "Root Directory" 設定
  4. 在輸入框中輸入: web_version
  5. 點擊右側的 或按 Enter 儲存
  6. Railway 會自動重新部署

步驟 4: 等待建置完成

"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 分鐘

步驟 5: 生成公開域名

  1. 回到 "Settings" 標籤
  2. 找到 "Domains" 區塊
  3. 點擊 "Generate Domain" 按鈕
  4. Railway 會自動生成一個 URL,例如:
    https://ymp3-production.up.railway.app
    
  5. 複製這個 URL

步驟 6: 測試應用 ✨

開啟剛才複製的 URL,你應該看到:

首頁:

  • ✅ YouTube 下載器介面
  • ✅ URL 輸入框
  • ✅ 類型選擇 (影片/音訊)
  • ✅ 畫質選擇

測試下載:

  1. 貼上 YouTube 網址,例如: https://www.youtube.com/watch?v=fLyHit9OnhU
  2. 選擇 "音訊" 類型
  3. 點擊 "開始下載"
  4. 應該會顯示進度
  5. 完成後自動下載 MP3 檔案

🔍 檢查清單

建置成功的標誌:

  • Settings → Root Directory 設定為 web_version
  • Deployments → 最新部署狀態為 "Success" (綠色勾勾)
  • 建置日誌顯示 "Build successful"
  • 運行日誌顯示 "Gunicorn running"
  • Domains 有一個生成的 URL
  • 訪問 URL 可以看到介面
  • 可以獲取影片資訊
  • 可以下載並自動轉為 MP3

如果遇到問題:

問題 1: "No such file or directory: app.py"

原因: 未設定 Root Directory

解決:

  1. Settings → Root Directory
  2. 輸入: web_version
  3. 重新部署

問題 2: "ModuleNotFoundError: No module named 'pytubefix'"

原因: requirements.txt 未正確讀取

解決:

  1. 確認 Root Directory 設定正確
  2. 在 Deployments 標籤點擊 "Redeploy"

問題 3: 建置失敗

檢查建置日誌:

  1. Deployments → 點擊最新的部署
  2. 查看 "Build Logs"
  3. 找出錯誤訊息

常見原因:

  • 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 帳號
  • ✅ 零配置部署!

🎊 完成後的下一步

1. 分享你的應用

你的 Railway URL:

https://你的域名.railway.app

可以分享給其他人使用!

2. 監控使用情況

在 Railway Dashboard:

  • Metrics 標籤: 查看 CPU、記憶體使用
  • Deployments 標籤: 查看部署歷史
  • Logs 標籤: 查看運行日誌

3. 自訂域名 (可選)

如果你有自己的域名:

  1. Settings → Domains
  2. 點擊 "Custom Domain"
  3. 輸入你的域名
  4. 按照指示設定 DNS

4. Railway 免費方案

  • 每月 500 小時執行時間
  • 512 MB RAM
  • 1 GB 磁碟空間
  • 足夠個人使用!

📝 API 端點

你的應用提供以下 API:

POST /api/info

獲取影片資訊

curl -X POST "https://你的域名.railway.app/api/info" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=xxxxx"}'

POST /api/download

開始下載

curl -X POST "https://你的域名.railway.app/api/download" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=xxxxx", "type": "audio"}'

GET /api/progress/{task_id}

查詢進度

curl "https://你的域名.railway.app/api/progress/{task_id}"

🎉 恭喜!

你已經成功:

  1. ✅ 使用 pytubefix 構建 YouTube 下載器
  2. ✅ 實現自動 MP3 轉換
  3. ✅ 推送代碼到 GitHub
  4. ✅ 準備好部署到 Railway

現在前往 Railway Dashboard 完成最後的部署步驟!


🔗 快速連結


祝部署順利! 🚀

如果遇到任何問題,查看 Railway 的 Logs 標籤或建置日誌來診斷問題。