執行環境套件管理器打包器測試執行器程式碼檢查格式化指南參考部落格意見回饋

在 Railway 上部署 Bun 應用

從 CLI 或儀表盤將 Bun 應用部署到 Railway,可選設定 PostgreSQL 並自動啟用 SSL

Railway 是一個基礎設施平臺:你可以設定基礎設施,在本地基於它進行開發,然後部署到雲端。Railway 可零設定地從 GitHub 部署,自動處理 SSL,並設定資料庫。

本指南將部署一個可選配 PostgreSQL 資料庫的 Bun 應用,使用的設定與以下模板相同。

你可以按照本指南逐步操作,也可以一鍵部署預設定的模板:

在 Railway 上部署

先決條件:

  • 一個準備好部署的 Bun 應用
  • 一個 Railway 賬號
  • Railway CLI(用於 CLI 部署方式)
  • 一個 GitHub 賬號(用於儀表盤部署方式)

方法一:通過 CLI 部署

  1. 步驟 1

    安裝 Railway CLI。

    terminal
    bun install -g @railway/cli
    
  2. 步驟 2

    登入您的 Railway 賬號。

    terminal
    railway login
    
  3. 步驟 3

    完成身份驗證後,初始化一個新專案。

    terminal
    railway init
    
  4. 步驟 4

    初始化專案後,新增新的資料庫和服務。

    terminal
    # 新增 PostgreSQL 資料庫。請確保先新增此項!
    railway add --database postgres
    
    # 新增您的應用服務
    railway add --service bun-react-db --variables DATABASE_URL=\${{Postgres.DATABASE_URL}}
    
  5. 步驟 5

    建立並連線服務後,將應用部署到 Railway。預設情況下,服務只能通過 Railway 的私有網路訪問,因此請生成一個公共域名,讓您的應用可供公眾訪問。

    terminal
    # 部署您的應用
    railway up
    
    # 生成公共域名
    railway domain
    

您的應用現已上線。railway up 部署的是您的本地目錄,而不是 GitHub 儲存庫。若要讓 Railway 在每次 GitHub 推送時自動部署,請使用 railway service source connect --repo <owner>/<repo> --branch <branch> 將服務連線到您的儲存庫。


方法二:通過儀表盤部署

  1. 步驟 1

    建立新專案

    1. 前往 Railway Dashboard
    2. 點選 “+ New” → “GitHub repo”
    3. 選擇您的儲存庫
  2. 步驟 2

    新增 PostgreSQL 資料庫,並將該資料庫連線到服務

    1. 點選 “+ New” → “Database” → “Add PostgreSQL”
    2. Railway 建立資料庫後,選擇您的服務(而不是資料庫)
    3. 前往 “Variables” 標籤頁
    4. 點選 “+ New Variable” → “Add Reference”
    5. 從 postgres 中選擇 DATABASE_URL
  3. 步驟 3

    生成公共域名

    1. 選擇您的服務
    2. 轉到 “設定” 標籤頁
    3. 在 “網路” 區塊,點選 “生成域名”

您的應用現已上線。Railway 會在每次 GitHub 推送時自動部署。


設定(可選)

預設情況下,Railway 使用 Railpack 自動檢測並以零設定建置您的 Bun 應用。

Railpack 會根據您的 bun.lock 檢測 Bun,並安裝最新版本的 Bun,除非您在 package.json 的 engines.bun 或 packageManager 欄位中指定了版本。Railway 之前使用的建置器 Nixpacks 目前處於維護模式。

如果您的服務仍使用 Nixpacks 建置,請將以下內容新增到您的 railway.json,以切換到 Railpack:

railway.json
{
  "$schema": "https://railway.com/railway.schema.json",
  "build": {
    "builder": "RAILPACK"
  }
}

如需瞭解更多建置設定設定,請參閱 Railway 文件。