Railway 是一个基础设施平台,您可以在其中预置基础设施,在本地使用该基础设施进行开发,然后部署到云端。它支持从 GitHub 进行零配置即时部署、自动 SSL 和内置数据库预置。
本指南将逐步介绍如何使用 PostgreSQL 数据库部署 Bun 应用程序(可选),这正是以下模板所提供的。
您可以按照本指南逐步操作,也可以简单地一键部署预配置的模板
先决条件:
- 准备部署的 Bun 应用程序
- Railway 账户
- Railway CLI(用于 CLI 部署方法)
- GitHub 账户(用于仪表板部署方法)
步骤 1
确保您已安装 Railway CLI。
bun install -g @railway/cli
步骤 2
登录您的 Railway 账户。
railway login
步骤 3
成功认证后,初始化一个新项目。
# Initialize project
bun-react-postgres$ railway init
步骤 4
项目初始化后,添加新的数据库和服务。
注意:步骤 4 仅在您的应用程序使用数据库时才需要。如果您不需要 PostgreSQL,请跳到步骤 5。
# Add PostgreSQL database. Make sure to add this first!
bun-react-postgres$ railway add --database postgres
# Add your application service.
bun-react-postgres$ railway add --service bun-react-db --variables DATABASE_URL=\${{Postgres.DATABASE_URL}}
步骤 5
服务创建并连接后,将应用程序部署到 Railway。默认情况下,服务只能在 Railway 的私有网络中访问。要使您的应用程序可以公开访问,您需要生成一个公共域。
# Deploy your application
bun-nextjs-starter$ railway up
# Generate public domain
bun-nextjs-starter$ railway domain
步骤 1
创建一个新项目
- 前往 Railway 仪表板
- 点击 "+ 新建" → "GitHub 仓库"
- 选择您的仓库
步骤 2
添加 PostgreSQL 数据库,并将此数据库连接到服务
注意:步骤 2 仅在您的应用程序使用数据库时才需要。如果您不需要 PostgreSQL,请跳到步骤 3。
- 点击 "+ 新建" → "数据库" → "添加 PostgreSQL"
- 数据库创建后,选择您的服务(不是数据库)
- 转到 "变量" 选项卡
- 点击 "+ 新建变量" → "添加引用"
- 从 postgres 中选择
DATABASE_URL
步骤 3
生成公共域
- 选择您的服务
- 转到 "设置" 选项卡
- 在 "网络" 下,点击 "生成域"
您的应用程序现在已上线!Railway 会在每次 GitHub 推送时自动部署。
默认情况下,Railway 使用 Nixpacks 自动检测并构建您的 Bun 应用程序,无需任何配置。
然而,使用 Railpack 应用程序构建器提供了更好的 Bun 支持,并且将始终支持最新版本的 Bun。预配置的模板默认使用 Railpack。
要在自定义项目中启用 Railpack,请将以下内容添加到您的 railway.json
中
{
"$schema": "https://railway.com/railway.schema.json",
"build": {
"builder": "RAILPACK"
}
}
有关更多构建配置设置,请查看 Railway 文档。