应用程序
应用程序可以是任何类型的 Web 应用,例如静态网站、NodeJS 应用程序、PHP 应用程序等。
对于复杂的应用程序,您可以使用基于 Docker Compose 的部署或一键部署服务。
示例
INFO
此列表并不完整。
您可以托管几乎任何您想要的应用程序,而不仅仅是这里列出的那些。
一般配置
命令
您可以通过在用户界面上设置自定义值来覆盖默认命令。
- 构建
- 安装
- 启动
INFO
如果您将其留空,Nixpacks 将检测要运行的命令。例如,在 Nodejs 中,它会检查锁定文件并相应地运行 npm ci 或 yarn install 或 pnpm install。
基础目录
这对单体仓库很有用。您可以为 Coolify 将执行的所有命令设置基础目录。
公共目录
如果您正在构建静态站点,设置公共目录非常重要,这样构建器就会知道要提供哪个目录。
端口暴露
端口暴露是 Docker Engine 了解要暴露哪些端口所必需的。第一个端口将是健康检查的默认端口。
例如:
如果您有一个监听端口 3000 的 NodeJS 应用程序,您可以这样设置:3000。 如果您有一个监听端口 9000 的 PHP-FPM 应用程序,您可以这样设置:9000。 如果您有一个监听端口 80 的 Nginx 服务器,您可以这样设置:80。
端口映射
WARNING
如果您将端口映射到主机系统,您将失去一些功能,如 滚动更新。
如果您想将端口映射到主机系统(服务器),您可以在此处这样做:8080:80。
这会将主机系统上的端口 8080 映射到容器内的端口 80。
INFO
如果您想获得性能提升并且不需要任何域名(流量非常高的 websocket 服务器),您可以将其端口映射到主机,这样请求就不会通过代理。
高级设置
静态站点(是否为静态站点?)
此功能仅适用于 Nixpacks 构建包。
如果您需要提供静态站点(SPA、HTML 等),您可以将其设置为 true。它将由 Nginx 提供服务。默认禁用。
强制 HTTPS
如果您想强制使用 HTTPS,不允许 HTTP 连接,您可以将其设置为 true。默认启用。
自动部署
此功能仅适用于基于 GitHub App 的仓库。
如果您想在有新的提交推送到仓库时自动部署,您可以将其设置为 true。默认启用。
预览部署
预览部署是在将应用程序合并到主分支之前测试您的应用程序的好方法。可以将其想象为一个暂存环境。
URL 模板
您可以使用自定义模板设置您的预览 URL。默认是 {{pr_id}}.{{domain}}。
这意味着如果您打开 ID 为 123 的拉取请求,并且您的资源域是 example.com,则预览 URL 将是 123.example.com。
提示
如果您的资源有多个域名,第一个将用作 {{domain}} 部分。
自动预览部署
此功能仅适用于基于 GitHub App 的仓库。
如果您想部署应用程序的预览版本(基于拉取请求),您可以将其设置为 true。默认禁用。
如果设置为 true,所有针对资源配置的分支打开的 PR 都将部署到唯一的 URL。
手动触发预览部署
您可以通过在拉取请求页面上点击 部署 按钮,手动将拉取请求部署到唯一的 URL。
Git 子模块
如果您使用 git 子模块,您可以将其设置为 true。默认启用。
Git LFS
如果您使用 git lfs,您可以将其设置为 true。默认启用。
环境变量
持久存储
健康检查
默认情况下,所有容器都会进行存活检查。
WARNING
如果容器定义了健康检查但状态为 不健康,Traefik 代理将无法工作。如果您不知道如何设置健康检查,请关闭它。
回滚
您可以回滚到资源的先前版本。目前,仅支持本地镜像,因此您只能回滚到本地可用的 docker 镜像。
资源限制
默认情况下,容器没有任何资源限制。您可以在此处设置限制。有关更多详细信息,请阅读 Docker 文档。
部署类型
有几种可用的应用程序部署类型:
- 公共 Git 仓库
- 私有 Git 仓库(GitHub App)
- 私有 Git 仓库(部署密钥)
- 基于 Dockerfile
- 基于 Docker Compose
- 基于 Docker 镜像
构建包
这些是支持的构建包:
- Nixpacks
- Dockerfile
- Docker 镜像
- Docker Compose
Nixpacks
Coolify 默认使用 Nixpacks 作为构建包。Nixpacks 检测您尝试部署的应用程序类型并相应地构建它。
但如果需要,您可以通过向仓库添加 nixpacks.toml 文件或设置正确的环境变量来自定义它。
例如,如果您使用 NodeJS 应用程序,您可以设置 NIXPACKS_NODE_VERSION 来控制 NodeJS 版本。
提示
值得阅读他们的 文档 以了解它是如何工作的。
Dockerfile
基于 Dockerfile 的构建包在您的 Git 仓库中有自定义 dockerfile 时很有用。
自定义 Dockerfile 位置
您始终可以设置自定义 dockerfile 位置。默认设置为 /Dockerfile。
Docker 镜像
您可以从任何兼容 Docker 的仓库部署任何 docker 镜像。例如,您可以从 Docker Hub、GitHub Container Registry 等部署镜像。
Docker Compose
基于 Docker Compose 的部署对于复杂应用程序很有用。您可以在单个 docker-compose.yml 文件中定义多个服务并一起部署它们。
