Python 客户端¶
安装¶
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 存在就自动写入。写操作必须同时满足:
- Coolify Token 有对应
write或deploy权限; - 调用方显式声明
allow_write=True或 CLI 的--allow-write。
from chatcoolify import CoolifyClient
client = CoolifyClient.from_env(allow_write=True)
project = client.create_project("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 将从平台配置的泛域名池分配唯一地址。