跳转至

Python 客户端

安装

python -m pip install ChatCoolify

ChatEnv 配置

Python import 继续使用 chatcoolify;CLI 命令使用 coolify,没有 chatcoolify CLI 别名。

chatenv init -t coolify -I
chatenv set COOLIFY_BASE_URL=https://<coolify-url>
chatenv set COOLIFY_API_TOKEN='<team-scoped-token>'

敏感 Token 应只存在于受保护的配置文件或密钥管理器中。

只读操作

coolify --base-url https://<coolify-url> health
coolify team
coolify overview
coolify projects
coolify project PROJECT_UUID
coolify applications
coolify application APPLICATION_UUID
coolify servers

Python 调用:

from chatcoolify import CoolifyClient

client = CoolifyClient.from_env()
print(client.health())
print(client.current_team())
print(client.list_projects())
print(client.get_project("PROJECT_UUID"))
print(client.get_application("APPLICATION_UUID"))

写操作的双门

ChatCoolify 不会因 Token 存在就自动写入。写操作必须同时满足:

  1. Coolify Token 有对应 write 或 deploy 权限;
  2. 调用方显式声明 allow_write=True 或 CLI 的 --allow-write。
from chatcoolify import CoolifyClient

client = CoolifyClient.from_env(allow_write=True)
project = client.create_project("demo-site")
coolify --allow-write project-create demo-site

先用 website-plan 输出资源计划,再由人确认后创建:

coolify website-plan \
  --project-uuid PROJECT_UUID \
  --server-uuid SERVER_UUID \
  --environment-uuid ENVIRONMENT_UUID \
  --repository-url https://github.com/example/site

省略 --domain 时,payload 会显式包含 autogenerate_domain: true;Coolify 将从平台配置的泛域名池分配唯一地址。