Commit Graph

3 Commits

Author SHA1 Message Date
KodouWZF
4eb67e246e feat(交付): 客户侧两台服务器离线部署包
内网机/外网机各起一套栈,两台之间不开任何端口,文件只经光闸在
gate/out 与对端 gate/in 之间单向摆渡。一份 compose + 一份 config +
一份 nginx 模板,全部差异收在 .env 里。

- docker-compose.yml:5 服务只发布前端端口;app 容器 IP 锁死并由
  compose 注入 -Dcode.snowflake.workid.<IP>=<WORK_ID>,绕开兜底 99
  超雪花 5 位上限导致启动即崩的问题
- .env.iw / .env.ow:出厂配置与随机口令已填好,仅 MESHSAFE_SECRET
  故意留占位(以 MeshSafe 侧白名单为准);按 maintainer 决定原样入库
- install.sh iw|ow:按角色建 .env -> 自检 -> sha256 校验 tar -> 架构
  核对 -> docker load 后校验 tag -> 建目录/属主/SELinux 标签 -> 起栈
  并逐个等健康。修掉 pipefail 下 `grep | head -1` 静默中断、架构字段
  误读 manifest.json(实际在 Config blob)、die() 未定义先被调用
- export-images.sh:就地刷新 images/*.tar、sql、.env 的 tag 与
  SHA256SUMS,再打 dist 交付盘;tar 与 SHA256SUMS 由 .gitignore 排除
- sql/01+02:从 backend/db 的 PG 全量与初始数据覆盖拷贝。三个
  upgrade-*.sql 的 PG 段(x_upload_config、x_file_security)已在
  init-table-postgres-full.sql 内,空库跑 01->02 即完整现状
- smoke_test.py:18 条断言的现场验收,凭证全部走环境变量
- 部署说明.md:拓扑、交付清单、出厂口令表、iw/ow 差异、验收清单、
  13 条已知坑

镜像 tar 不进 git,装机包由 export-images.sh 出盘。
v1.0.0
2026-11-02 20:40:16 +08:00
KodouWZF
3910239b87 fix(前端): 弹窗内容被长文件名撑破右边框
DialogContent 的 grid 用隐式 auto 轨道,轨道 min 受 grid item 的
min-width:auto 支配。传输/分享确认框里「被拦截文件清单」是不换行文本,
把 400px 弹窗(扣 p-6 后仅 350px 可用)的轨道顶到 386.8px,
内容整体从右边框外溢 11px。

- dialog.tsx 加 grid-cols-1,轨道只跟容器宽,24 个弹窗共用此修复
- SecuritySkipWarning 的文件名由 truncate 改 break-all:原截断把要警告
  的文件名省略号掉了,用户看不清哪几个文件被拦

实测(重建 sfile-web 镜像后):轨道 350px、告警块右边缘 939 <= 弹窗 963、
清单横向溢出 0、4 条文件名完整可读;移动/分享/传输三个弹窗回归无溢出,
全屏预览弹窗的 flex 经 tailwind-merge 覆盖基类 grid,不受影响。
2026-11-02 20:39:45 +08:00
KodouWZF
47273ae3fd init: 信创文件安全传输系统内外网本地 Docker 部署
包含 s-file 后端、React 前端、MeshSafe 安全检测对接,以及内外网两套
compose/nginx/配置(仅前端 28180/28280 对外发布,其余端口不暴露)。

说明:deploy/config/application-iw.yml 与 application-ow.yml 按维护者
明确要求原样入库,其中含本机 Docker 用的库口令、RabbitMQ 口令与 JWT
密钥;上生产前需替换。
2026-11-02 10:59:03 +08:00