Guides and constrains eco-app development in independent repos against the TickShield platform contract: listingKey identity, app.manifest.json fields, tickshield-node-runtime base image, guard four-gate authz, tenant_id isolation, portal-sdk host bridge for micro frontends, release-cli publish and store deployment. Ships copy-ready templates (manifest/Dockerfile/server.js/web skeleton/Gitea release workflow/PRD) plus a zero-dependency static checker (scripts/check-app.sh) covering die/warn contract items.
19 lines
879 B
Docker
19 lines
879 B
Docker
# TickShield 生态应用 Dockerfile(service 与 micro 后端通用)。
|
||
# 硬约束:FROM 基础镜像 + symlink 预置依赖 + 不覆盖 CMD。
|
||
# 构建上下文 = 本仓库根(docker build -f Dockerfile . 或 compose build.context 指到仓根)。
|
||
FROM tickshield-node-runtime:base
|
||
|
||
WORKDIR /app
|
||
|
||
COPY server.js package.json app.manifest.json ./
|
||
|
||
# 让 import 解析到基础镜像预置的 @aigrego/guard|logger|tracing 与 pg。
|
||
RUN ln -s /opt/xgent/runtime/node_modules /app/node_modules
|
||
|
||
# 默认值即此,显式写出便于审阅;不要覆盖 CMD/ENTRYPOINT(注册/心跳/优雅下线/health
|
||
# 全在基础镜像 runtime-entry.js)。
|
||
ENV APP_ENTRY=/app/server.js MANIFEST_PATH=/app/app.manifest.json
|
||
|
||
# micro 型前端产物不进镜像:CI 里 bun 构建 web/ 后经 aigrego-release publish --dist 上传,
|
||
# 由 Portal 同源托管 /apps/<key>/_/*。
|