SuperAPI AI 工具集

kamal-deploy

部署与运维

查看项目

更新于 10-16 09:31

技能介绍

用途:该技能用于使用 Kamal 2 部署 Docker 应用,支持零停机部署与自动 SSL。适用场景为搭建新的 Kamal 部署或生成部署配置。

主要能力:根据用户提供的信息生成 config/deploy.yml,并可按需生成 Dockerfile。配置涵盖 service、image、servers.web.hosts、proxy 的 ssl 与 host、registry、ssh user、builder arch 等字段。

使用方式:需先向用户询问域名(如 app.example.com,服务名转为 app_example_com)、服务器 IP、健康检查端点(应用是否在 /up 无鉴权返回 200)。按要求生成 config/deploy.yml,示例字段包括 service: {{DOMAIN_UNDERSCORED}}、image: jalen0x/{{DOMAIN_UNDERSCORED}}、servers.web.hosts 填写 {{SERVER_IP}}、proxy 下 ssl: true 与 host: {{DOMAIN}}、registry 使用 username: jalen0x 与 password 引用 KAMAL_REGISTRY_PASSWORD、ssh user 为 ubuntu、builder arch 为 amd64。

健康检查:应用需在 80 端口(默认)的 /up 返回 200。自定义路径可在 proxy 配置中添加 healthcheck.path。若没有健康端点,改用 Caddy,从 assets/ 复制模板并自定义:assets/Caddyfile 到项目 Caddyfile,assets/start.sh 到项目 start.sh;并生成 Dockerfile(FROM {{BASE_IMAGE}},安装 caddy,复制 Caddyfile 与 start.sh 并赋予执行权限,ENTRYPOINT 为 /bin/sh /start.sh)。

常用命令:kamal setup 用于首次部署,kamal deploy 用于部署。

限制:资料未提供更详细的依赖、版本或平台要求,暂未提供。