
Nixpacks 是由 Railway 创建的开源构建包,源代码可在 Github 上获取。Coolify 将 Nixpacks 作为其构建包之一。
Nixpacks 会检查您的 git 仓库(在 nixpacks 中也称为"源目录")并生成一个 Dockerfile,然后基于生成的 Dockerfile 构建 Docker 镜像。
Nixpacks 可以部署完全静态的网站和非静态的应用程序。一旦您的仓库设置完成,您可以轻松使用 Coolify 部署您的项目。
如何使用 Nixpacks?
在 Coolify 上,您只能在基于 git 的部署中使用 Nixpacks。
1. 在 Coolify 中创建新资源
在 Coolify 仪表板上打开您的项目,然后点击创建新资源按钮。

2. 选择您的部署选项

A. 如果您的 Git 仓库是公开的,选择公共仓库选项。
B. 如果您的仓库是私有的,您可以选择Github App或部署密钥。(这些方法需要额外配置。如果需要,您可以查看设置 Github App ↗ 或 部署密钥 ↗ 的指南。)
3. 选择您的 Git 仓库
如果您使用的是公共仓库,在提示时粘贴您的 GitHub 仓库的 URL。所有其他选项的步骤都非常相似。

4. 选择构建包
Coolify 默认使用 Nixpacks。如果不是,请点击选择 Nixpacks 作为您的构建包。

5. 配置构建包
我们提供不同的选项,如基础目录、发布目录和端口,这些选项会根据您部署的应用程序(静态网站/应用程序)略有变化。因此,下面我们为 Nixpacks 可能的部署提供了两个部分:
如何部署完全静态网站?
首先,按照本文档前面部分的说明进行操作:如何使用 Nixpacks。然后,继续执行以下步骤。

分支: Coolify 会自动从您的仓库中检测分支。
基础目录: 输入 Nixpacks 应使用的根目录(例如,如果您的文件在根目录,则输入
/,如果适用,也可以是子文件夹)。- 如果您有一个单体仓库(monorepo),您可以输入要用作基础目录的目录路径(例如
/backend)
- 如果您有一个单体仓库(monorepo),您可以输入要用作基础目录的目录路径(例如
是否为静态站点: 点击此选项以启用静态模式。
端口: 一旦启用了"是否为静态站点",端口将自动设置为
80,且无法更改。(这是故意设计的)发布目录: 一旦启用了"是否为静态站点",此发布目录选项将在 UI 上可见。您必须输入生成静态文件的输出目录(通常是
/dist)。一旦您将所有上述设置设为正确的详细信息,点击继续按钮。
为您的静态网站选择一个 Web 服务器

- 从 Coolify v4.0.0-beta.404 版本开始,唯一可用的 Web 服务器选项是 Nginx ↗。因此Nginx将默认被选中。
点击部署按钮。部署过程通常很快(通常不到一分钟,具体取决于您的服务器)。
自定义您的 Web 服务器配置 可选

Coolify 提供了适用于大多数情况的默认 Web 服务器配置。
如果您想更改它,请点击生成按钮加载默认设置并进行任何您需要的更改。
注意!
您必须点击重启按钮才能使新配置生效。
工作原理
Nixpacks 将使用您的代码库构建网站,并创建一个带有 Web 服务器的 Docker 镜像来提供这些文件。这意味着您的最终 Docker 镜像包含一个准备好提供 HTML、CSS 和 JavaScript 文件的 Web 服务器。
如何部署非静态网站/应用程序?
首先,按照本文档前面部分的说明进行操作:如何使用 Nixpacks。然后,继续执行以下步骤。

分支: Coolify 会自动从您的仓库中检测分支。
基础目录: 输入 Nixpacks 应使用的根目录(例如,如果您的文件在根目录,则输入
/,如果适用,也可以是子文件夹)。- 如果您有一个单体仓库(monorepo),您可以输入要用作基础目录的目录路径(例如
/backend)
- 如果您有一个单体仓库(monorepo),您可以输入要用作基础目录的目录路径(例如
端口: 输入您的应用程序监听传入请求的端口。
是否为静态站点: 由于您要部署的是非静态应用程序,请不要勾选此选项。
配置完所有上述选项后,点击继续按钮。
点击继续按钮后,您可以调整域名和环境变量等设置,然后点击部署按钮启动您的应用程序。
工作原理
Nixpacks 分析您的代码库,构建 Docker 镜像,然后使用该镜像启动容器。
高级配置
环境变量
您可以使用环境变量自定义 Nixpacks 的行为。有许多变量可用于不同的应用程序框架,您可以在其文档中找到详细信息:Nixpacks 环境变量。
要在 Coolify 中添加或修改环境变量,只需点击环境变量选项卡,您可以在那里轻松管理它们。

命令
如果需要,您可以覆盖默认的安装、构建和启动命令。只需在 Coolify 上滚动到构建部分并输入您的自定义命令。

注意:
您可能需要在仓库中包含一个 nixpacks.toml 文件,才能使这些更改生效。
配置文件
Nixpacks 支持在 nixpacks.toml 或 nixpacks.json 文件中指定构建配置。如果这些文件之一存在于您的仓库的根目录中,它将被自动使用。有关更多详细信息,请参阅 Nixpacks 文档。
已知问题和解决方案
1. 过时的包/依赖项
有时,Nixpacks 可能会使用较旧的包版本。如果您遇到此问题,请在 nixpacks.toml 文件中更新 nixpkgs 存档版本。您可以在 Nixpacks 关于 nixpkgs 存档 的文档中了解更多信息。
这是与 Nixpacks 相关的问题,而不是 Coolify 的问题。如需进一步帮助,请联系 Nixpacks 支持团队。
