# 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>/_/*。
