# 原型与推导资料:Docker部署 本目录部署当前小程序、后台、九站品牌讲述和可阅读的设计/架构推导。用户明确授权目标`ubuntu@100.90.0.150`;这是原型评审环境,不是生产产品发布,也不改变REQ或Foundation状态。 ## 入口 | 地址 | 内容 | | --- | --- | | `http://100.90.0.150/` | 统一入口、品牌/小程序/后台/架构分组、Markdown阅读与全部文档目录 | | `http://100.90.0.150/miniapp/app` | 当前小程序完整手机框预览 | | `http://100.90.0.150/admin/` | 全局后台与客户下钻 | | `http://100.90.0.150/brand/logos` | 九站品牌来路;第八/九站引用同一小程序/后台 | 对外统一使用80端口,全部Docker映射4300—4304绑定127.0.0.1。主机nginx新增仅匹配100.90.0.150的虚拟主机,保留原world-map默认站点配置。全部业务为合成演示;统一路径共享浏览器origin,但各原型仍使用各自已有存储键,不迁移旧端口浏览器记录。九站绿色图稿是历史研究,当前小程序主色和后台样式保留。 ## 打包 在仓库根目录执行,输出必须是仓库外的新目录: ```bash python3 docs/design/deploy/package.py --output /tmp/dingwei-design-RELEASE --release RELEASE tar -C /tmp/dingwei-design-RELEASE -czf /tmp/dingwei-design-RELEASE.tar.gz . sha256sum /tmp/dingwei-design-RELEASE.tar.gz ``` 快照包含当前工作区设计(含未提交文件)及架构/需求/规则/审查Markdown,不包含Git、Runtime、缓存、node_modules、过时R1/R2三维模型。基础小程序源及当前编译产物、母图和后台资源保留。软链接在快照中物化,来源不改动。旧主机链接只在小程序部署副本入口替换;阅读器和网关将已知的旧预览端口链接转成同域路径。网关仅改写已登记的资源URL前缀、Location及品牌章节后台嵌入地址,不改业务状态或React字符串操作。`bundle-manifest.json`记录每文件源/部署哈希及转换,不把派生文件冒充原文件。 文档采用本地vendored Marked 18.0.14(MIT),完整许可证、npm归档integrity及源文件哈希在vendor目录;没有浏览器CDN依赖。阅读器关闭Markdown原始HTML,仅开放清单中的文档/图片/JSON,脚本受CSP禁止。Mermaid图保留可阅读的原始定义,不宣称已渲染成图。历史资料保留原结论,与最新架构/政策可能仍有差异。 ## 远端启动与更新 将归档传到`/home/ubuntu/dingwei-design/releases/RELEASE/`,先校验归档SHA-256、清单各文件哈希与端口可用性,再启动: ```bash bash /home/ubuntu/dingwei-design/releases/RELEASE/docs/design/deploy/deploy.sh ``` 此脚本支持有Docker权限的用户,或`sudo -n docker`。镜像来源先使用本地已核实的Node/nginx digest;正式启动时把`NODE_PREVIEW_IMAGE`、`NGINX_PREVIEW_IMAGE`固定在该版本`.env`,避免之后拉取浮动tag。容器非特权、只读挂载、cap_drop、禁止提权,日志轮转,自启动和健康检查。nginx使用Docker DNS动态解析后端,后端替换无需手工刷新旧IP。 主机80端口配置模板为[host-nginx.conf](host-nginx.conf)。安装前保存/etc/nginx的副本;安装到/etc/nginx/conf.d/dingwei-design.conf后必须nginx -t成功才reload。已存在配置时先备份,不覆盖其他虚拟主机。网关内部通过Compose服务名访问三个原型,无跨端口iframe。 新版本使用独立目录、同一Compose项目名。健康检查和各端访问检查成功后,`current`软链接才切到新目录。更新前保留旧版本和镜像digest;不删除旧浏览器记录、不自动prune其他镜像或容器。 ## 恢复 若已有部署更新失败,执行旧版本的`deploy.sh`恢复原容器挂载,健康与访问检查成功后恢复`current`链接。首次部署没有旧版本,停止本项目容器并保留失败快照供调查;不声称可回滚到不存在的版本。不要执行影响其他项目的`docker system prune`或主机级清理。 部署记录存放本目录的日期记录,区分实际远端检查与尚未完成事项;HTTP可达不代表所有业务故事或微信真机验收通过。 ## 首页设计依据 - 使用者与触发:评审者第一次访问预览地址,或从具体作品回到资料目录。 - 主任务与判断:选择小程序、全局后台、品牌讲述,或继续查阅对应设计依据。 - 来源:两张界面图由当前本地原型实际浏览器截图生成;品牌封面是入口排版,不替换商标母图。无虚构经营指标。 - 层次:品牌语气与三类作品优先;经营逻辑、模块与Wave/REQ规划次级;全量历史文档按需展开。 - 动作与边界:作品、阅读器、品牌嵌入和旧预览链接统一走80;不包含的资料明确提示,服务不可读返回503;GET/HEAD外请求405。 - 视觉:暖纸色、砖红、中文衬线与显著halftone;390px单列和桌面三列,键盘焦点可见,尊重减少动画设置。此次为本地入口设计,不发布新Foundation,不改三个原型的导航与业务设计。 - 恢复:保留前一完整快照与nginx备份;失败先恢复旧Compose和对应旧绑定IP配置,再还原或移除本次新增虚拟主机并nginx -t/reload。恢复后核对current链接与入口。维护负责人为部署执行会话/主机运维。