SuperAPI AI 工具集

arcane-compose

部署与运维

查看项目

更新于 10-16 05:43

技能介绍

用途:把应用想法转化为可被 Arcane GitOps 同步的 Compose 项目。仅在请求中明确出现 Arcane,或项目指令已确立 Arcane 使用时启用;通用 Compose 创建、编辑、审查、排错,或不经 Arcane 部署的项目都不适用。若 Arcane 归属不明确,按普通 Docker Compose 流程处理。

目录布局:一个 gitops 单仓库,每个应用一个子目录,内含 compose.yaml(只能一个,Arcane 遇歧义会停止)、.env(提交,非密钥默认值加 CHANGE_ME 占位符)、.env.example(记录每个变量)。

工作流:先定位 gitops 仓库(ARCANE_GITOPS_REPO 环境变量、当前目录所在含 apps/ 的 git 仓库根,否则询问路径;应用名已存在时询问修改还是重命名,绝不静默覆盖)。随后通过官方文档、linuxserver.io 或镜像页研究真实部署事实,不猜测端口或环境变量名。设计规则包括:镜像用官方或维护良好版本并固定到具体主/次标签,不用 :latest;只加实际需要的依赖;用命名卷而非宿主绑定挂载;每应用一个内部网络;对 depends_on 且 condition: service_healthy 的服务加健康检查;长期运行服务加 restart: unless-stopped;可用 x-arcane tags 定义标签。写文件时每个消费环境变量的服务加 env_file: .env,密钥以 CHANGE_ME 占位并注明在 Arcane UI 覆盖,不提交真实密钥。

验证:若 docker compose 可用,运行 docker compose --project-directory apps/<app-name> config -q 并修复错误;否则做 YAML 检查并说明跳过验证。最后提交并交付可粘贴到 Arcane 的导入 JSON(含 syncName、gitRepo、branch、dockerComposePath、autoSync、syncInterval、syncDirectory),并给出简短报告。

限制:compose 编辑须在 gitops 仓库进行,Arcane 中 git 同步的 compose 为只读;.env 覆盖在 Arcane 编辑器中完成。gitRepo 须与 Arcane 中配置的仓库名一致,未知时应询问或用占位符。