在 Railway 上部署 Bun 應用
從 CLI 或儀表盤將 Bun 應用部署到 Railway,可選設定 PostgreSQL 並自動啟用 SSL
Railway 是一個基礎設施平臺:你可以設定基礎設施,在本地基於它進行開發,然後部署到雲端。Railway 可零設定地從 GitHub 部署,自動處理 SSL,並設定資料庫。
本指南將部署一個可選配 PostgreSQL 資料庫的 Bun 應用,使用的設定與以下模板相同。
你可以按照本指南逐步操作,也可以一鍵部署預設定的模板:
先決條件:
- 一個準備好部署的 Bun 應用
- 一個 Railway 賬號
- Railway CLI(用於 CLI 部署方式)
- 一個 GitHub 賬號(用於儀表盤部署方式)
方法一:通過 CLI 部署
- 步驟 1
安裝 Railway CLI。
terminalbun install -g @railway/cli - 步驟 2
登入您的 Railway 賬號。
terminalrailway login - 步驟 3
完成身份驗證後,初始化一個新專案。
terminalrailway init - 步驟 4
初始化專案後,新增新的資料庫和服務。
terminal# 新增 PostgreSQL 資料庫。請確保先新增此項! railway add --database postgres # 新增您的應用服務 railway add --service bun-react-db --variables DATABASE_URL=\${{Postgres.DATABASE_URL}} - 步驟 5
建立並連線服務後,將應用部署到 Railway。預設情況下,服務只能通過 Railway 的私有網路訪問,因此請生成一個公共域名,讓您的應用可供公眾訪問。
terminal# 部署您的應用 railway up # 生成公共域名 railway domain
您的應用現已上線。railway up 部署的是您的本地目錄,而不是 GitHub 儲存庫。若要讓 Railway 在每次 GitHub 推送時自動部署,請使用 railway service source connect --repo <owner>/<repo> --branch <branch> 將服務連線到您的儲存庫。
方法二:通過儀表盤部署
- 步驟 1
建立新專案
- 前往 Railway Dashboard
- 點選 “+ New” → “GitHub repo”
- 選擇您的儲存庫
- 步驟 2
新增 PostgreSQL 資料庫,並將該資料庫連線到服務
- 點選 “+ New” → “Database” → “Add PostgreSQL”
- Railway 建立資料庫後,選擇您的服務(而不是資料庫)
- 前往 “Variables” 標籤頁
- 點選 “+ New Variable” → “Add Reference”
- 從 postgres 中選擇
DATABASE_URL
- 步驟 3
生成公共域名
- 選擇您的服務
- 轉到 “設定” 標籤頁
- 在 “網路” 區塊,點選 “生成域名”
您的應用現已上線。Railway 會在每次 GitHub 推送時自動部署。
設定(可選)
預設情況下,Railway 使用 Railpack 自動檢測並以零設定建置您的 Bun 應用。
Railpack 會根據您的 bun.lock 檢測 Bun,並安裝最新版本的 Bun,除非您在 package.json 的 engines.bun 或 packageManager 欄位中指定了版本。Railway 之前使用的建置器 Nixpacks 目前處於維護模式。
如果您的服務仍使用 Nixpacks 建置,請將以下內容新增到您的 railway.json,以切換到 Railpack:
{
"$schema": "https://railway.com/railway.schema.json",
"build": {
"builder": "RAILPACK"
}
}
如需瞭解更多建置設定設定,請參閱 Railway 文件。