Skip to main content
[ PIER ]

从源码自动构建 — 无需 Dockerfile

Pier 集成 Railpack — Railway 开源的构建器,Nixpacks 的后继者。把代码推到 Git,Pier 自动检测语言,使用 BuildKit 编译并运行生成的镜像。开箱即用支持 24+ 种语言和框架。

开箱即用支持 24+ 种语言

Node、Bun、Deno、Python、Go、Rust、PHP、Java、Ruby、Elixir,以及一流的 Vite、Astro 和 Create React App 静态站点。检测基于标识文件 (package.json、go.mod、Cargo.toml、requirements.txt …),所以新仓库通常无需任何配置。

镜像比 Nixpacks 小 1.5-4 倍

Railpack 基于 BuildKit 的并行图,而不是分层 Dockerfile,所以 Node 镜像比 Nixpacks 小约 38%,Python 小约 77%。拉取更快、磁盘占用更小、攻击面更窄。

Railway 团队推出的 Nixpacks 后继者

Railway 在多年运营 Nixpacks (1400万+ 用户构建) 后,于 2025 年 3 月切换到 Railpack。后者处于活跃开发,Nixpacks 已进入维护模式。Pier 直接集成 Railpack,你用的就是支撑 Railway 生产环境的同一个构建器。

合理默认值,可选覆盖

Pier 自动检测启动命令和暴露端口,但你可以在部署表单中覆盖。如需更深入的控制,在仓库根目录放置 railpack.json — Railpack 会自动识别,无需 Pier 侧粘合代码。

用自动构建部署源码仓库

  1. 01

    打开 Pier → 新建应用 → 自动构建 (Railpack)

    选择 Dockerfile / Docker 镜像 / Docker Compose 旁边新增的卡片,表单会打开 Git URL 字段。

  2. 02

    粘贴你的 Git 仓库地址和分支

    公开仓库可直接使用;私有仓库使用与其他 Git 源相同的 deploy-key 或 GitHub App 流程。

  3. 03

    (可选) 覆盖启动命令或构建期环境变量

    两者都留空时 Railpack 会自动检测。表单在相关字段下方显示提示。

  4. 04

    部署

    Pier 克隆代码,把工作目录交给 railpack build,然后像其他服务一样运行生成的镜像 — 包括 Traefik 标签、自动 SSL 和生成的子域名。

常见问题

为什么用 Railpack 而不是 Nixpacks?

Railpack 是积极维护的后继者 — Railway 在 1400 万+ 用户构建后于 2025 年 3 月切换。Nixpacks 仍可使用,但只接受 bug 修复。Railpack 借助 BuildKit 原生 LLB 生成更小的镜像和更快的构建图。

支持 ARM / aarch64 吗?

支持 — railpack CLI 和 moby/buildkit 容器都提供 linux/arm64 构建产物。install.sh 自动选择正确架构,用户体验与 x86_64 完全一致。

资源要求是多少?

至少 4 GB 内存 (构建 Rust 项目需要 8 GB),以及 40+ GB 的空闲磁盘用于 BuildKit 缓存。能跑 Dockerfile / Docker Image 部署的小型 VPS 不适合自动构建 — 主机内存低于 4 GB 时 UI 会显示明确警告。

可以限制同时运行的构建数量吗?

可以 — 在设置 → 自动构建 (Railpack) 中调整并发上限,或在 systemd 单元中设置 PIER_RAILPACK_MAX_PARALLEL_BUILDS。默认为 1,这能让 4 GB 主机即使在多个用户同时部署时也保持稳定。

相关

准备部署?

一条命令即可在任何 Ubuntu 或 Debian VPS 上安装 Pier。

curl -fsSL https://pier.sh/install | sudo bash