Skip to content

Railway 是一个基础设施平台,你可以在其中配置基础设施、在本地开发该基础设施,然后部署到云端。它支持从 GitHub 即时部署,无需任何配置,具有自动 SSL 和内置数据库配置功能。

本指南将介绍如何部署带有 PostgreSQL 数据库(可选)的 Bun 应用程序,这正是下面模板所提供的。

你可以按照本指南逐步操作,或者只需一键部署预配置的模板:

railway


前提条件:

  • 一个准备部署的 Bun 应用程序
  • 一个 Railway 账户
  • Railway CLI(用于 CLI 部署方法)
  • GitHub 账户(用于仪表板部署方法)

方法 1:通过 CLI 部署 ​

步骤 1 ​

确保你已安装 Railway CLI。

bash
bun install -g @railway/cli

步骤 2 ​

登录到你的 Railway 账户。

bash
railway login

步骤 3 ​

成功验证后,初始化一个新项目。

bash
railway init

步骤 4 ​

初始化项目后,添加一个新的数据库和服务。

NOTE

步骤 4 仅在你的应用程序使用数据库时才需要。如果不需要 PostgreSQL,请跳至步骤 5。
bash
# 添加 PostgreSQL 数据库。确保先添加这个!
railway add --database postgres

# 添加你的应用程序服务。
railway add --service bun-react-db --variables DATABASE_URL=\${{Postgres.DATABASE_URL}}

步骤 5 ​

创建并连接服务后,将应用程序部署到 Railway。默认情况下,服务仅在 Railway 的私有网络内可访问。要使你的应用程序公开访问,你需要生成一个公共域名。

bash
# 部署你的应用程序
railway up

# 生成公共域名
railway domain

你的应用程序现已上线!Railway 会在每次 GitHub 推送时自动部署。


方法 2:通过仪表板部署 ​

步骤 1 ​

创建一个新项目

  1. 前往 Railway 仪表板
  2. 点击 "+ New" → "GitHub repo"
  3. 选择你的仓库

步骤 2 ​

添加 PostgreSQL 数据库,并将此数据库连接到服务

NOTE

步骤 2 仅在你的应用程序使用数据库时才需要。如果不需要 PostgreSQL,请跳至步骤 3。
  1. 点击 "+ New" → "Database" → "Add PostgreSQL"
  2. 数据库创建后,选择你的服务(不是数据库)
  3. 前往 "Variables" 选项卡
  4. 点击 "+ New Variable" → "Add Reference"
  5. 从 postgres 中选择 DATABASE_URL

步骤 3 ​

生成公共域名

  1. 选择你的服务
  2. 前往 "Settings" 选项卡
  3. 在 "Networking" 下,点击 "Generate Domain"

你的应用程序现已上线!Railway 会在每次 GitHub 推送时自动部署。


配置(可选) ​

默认情况下,Railway 使用 Nixpacks 自动检测并使用零配置构建你的 Bun 应用程序。

但是,使用 Railpack 应用程序构建器提供更好的 Bun 支持,并将始终支持最新版本的 Bun。预配置的模板默认使用 Railpack。

要在自定义项目中启用 Railpack,请将以下内容添加到你的 railway.json:

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

有关更多构建配置设置,请查阅 Railway 文档。