# 如何在 Coolify 上部署我的第一个应用？

https://www.seturack.com/zh/knowledgebase/article/how-do-i-deploy-my-first-app-on-coolify

1. 在面板中打开**我的服务器**，点击您的服务器。
2. 在**概览**标签页中，等待**应用**一行显示“Coolify 已就绪”。
3. 打开**面板地址**链接，用**邮箱**和**密码**两行的信息登录。服务器和第一个项目已经准备好。

## 连接您的仓库

1. 在 **Projects** 页面打开 **My first project** 和 **production**，然后点击 **New resource**。这些名称是 Coolify 界面中的原文。
2. 公开仓库请选择 **Public Git Repository**，输入地址并点击 **Check repository**。
3. 私有仓库请先在 **Keys & Tokens** 下的 **Private Keys** 页面点击 **Generate ED25519**，并把公钥添加到 GitHub 上该仓库的 **Deploy keys** 中。然后选择 **Private Git Repository (with Deploy Key)**，输入 `git@github.com:user/project.git`。
4. 保持 **Build pack** 为 **Railpack**，点击 **Continue**。Coolify 将 Railpack 标为测试版，如果遇到问题，请改用您自己的 Dockerfile。
5. 在 **Environment Variables** 页面填写变量，然后点击 **Deploy**。HTTPS 测试地址在 **Domains** 页面。

## 用 git push 部署

1. 在应用的 **Webhooks** 页面，复制 GitHub 部分的 **Webhook URL**，在 **Webhook secret** 中填入至少 16 个字符的随机值并保存。
2. 在 GitHub 上打开仓库的 **Settings**，进入 **Webhooks** 并点击 **Add webhook**。**Payload URL** 填上述地址，**Content type** 选 `application/json`，**Secret** 填同一个值，事件只选 push。

此后，每次向所选分支执行 `git push`，都会构建并发布新版本。修改以 `NEXT_PUBLIC_` 开头的变量后，请点击 **Redeploy**。如果构建时内存不足，请[在面板中升级配置](https://www.seturack.com/zh/knowledgebase/article/how-to-scale-server-up-or-down)。

## 您的域名

把 A 记录指向服务器的 IP。在 **Domains** 页面使用 **Add domain**，选择 `https`，输入域名，保存后点击 **Redeploy**。Coolify 会自动获取证书。

## 关闭 8000、6001 和 6002 端口

面板可以通过 HTTPS 地址打开之后，就不再需要这些端口。Docker 会绕过 ufw 处理它发布的端口，所以 ufw 无法关闭它们。请[通过 SSH 连接](https://www.seturack.com/zh/knowledgebase/article/how-to-connect-with-ssh)，并按照 Coolify 的官方做法操作：

`cd /data/coolify/source`

`printf 'services:\n coolify:\n ports: !override\n - "127.0.0.1:8000:8080"\n - "127.0.0.1:6001:6001"\n - "127.0.0.1:6002:6002"\n' > docker-compose.custom.yml`

`curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash`

最后一条命令会刷新安装，如果有新版本，也会升级到新版本。要撤销这一设置，请删除该文件并再次运行同一条命令。

## 须知

Coolify 使用自己的密钥以 root 身份通过 SSH 连接。如果禁用 root 登录，或从 `/root/.ssh/authorized_keys` 中删除 `coolify` 那一行，部署就会停止。

**还没有服务器？** [订购预装 Coolify 的服务器](https://www.seturack.com/zh/coolify-vps)：配置由您选择，按所选配置付费。
