Files
ulthon_admin/source/stack
augushong 218810a7db refactor: 迁移根目录 docker/ 到 source/docker/,更新所有路径引用
- 将 docker/{nginx.conf,run.sh,zz-phprun.ini,zz-phpfpm.conf} 移动到 source/docker/
- 更新所有 Dockerfile 中 /var/www/html/docker/ -> /var/www/html/source/docker/
- 更新 stack.json managed_files 路径前缀
- 重组 stack 模式目录结构 docker/ -> source/docker/
- 更新 source/README.md 目录描述
- 更新 AdminUpdateServiceBase.php 可选文件前缀
2026-05-12 23:13:47 +08:00
..

Stack 模式目录规范

本目录用于维护“模式化生效文件”,由 php think admin:stack:mode 命令读取并覆盖到仓库根目录。

目录结构

  • source/stack/stack.json:全局清单,定义 default_modemanaged_filesmodes 元数据。
  • source/stack/default/:默认行为基线目录。
  • source/stack/{mode}/:具体模式目录,按“仓库相对路径”放置文件。

default 目录规则(强约束)

  • source/stack/default/ 必须与代码库默认行为一致。
  • 当默认行为文件变更时(如 Dockerfiledocker-compose.yaml.gitea/workflows/build-and-deploy.yml),必须同步更新 default 目录对应文件。
  • 该规则通过目录维护规范与代码评审保障,不作为每次切换命令的运行时阻断条件。

模式覆盖规则

  • 仅允许覆盖 stack.jsonmanaged_files 中声明的文件。
  • 切换时按“目标模式优先default 模式兜底”解析最终文件内容:
    • 目标模式提供某文件:使用目标模式文件;
    • 目标模式未提供某文件:回落使用 default 目录对应文件。
  • 首期固定模式:defaultfullbase-build

基础镜像说明

  • base-build/docker/Dockerfile.base 为基础镜像构建文件,默认标记为作者维护范围(author_only=true)。
  • 推荐标签策略:latest + 时间戳(如 20260424120000)。