需求:公开仓库的说明文档不应暴露开发/部署期信息,且 Gitea 会对 README.txt 报"含模棱两可的 Unicode 字符"。 敏感信息(全部替换为占位符或文档示例值): - 真实数据库实例:DB_HOST=192.168.150.10 / DB_USER=dpendance / DB_NAME=dpendance → <数据库主机> / opendance_app / opendance(web-server/.env.example、 deploy/.env.example、contracts/database.md ×3 库、project.yaml、README.txt 的建库 SQL、tasks/001、tasks/002) - 内网网段 192.168.150.0/24 / 192.168.150.20 / 192.168.1.10 → RFC 5737 文档网段 192.0.2.0/24 等(含测试夹具,行为不变) - 真实 Gitea 域名 → https://<Gitea 地址>/<owner>/<repo>(systemd 单元、 Windows/Android README 的交叉链接) - 测试夹具里的真实口令字面量 → 虚构口令(仍覆盖特殊字符场景) - 保留 /opt/opendance、/var/lib/opendance 等产品默认安装路径(非敏感) README.txt 易混淆字符: - 全角拉丁字母(I/K 等)与全角 ASCII 标点((),:;?)→ 半角 + 中文排版空格 - 正文里的乱码字节样例(模å…)→ 改为文字描述 - × → x,★ → * - 注意:代码/测试/契约里的全角「IK」是 MMD 真实骨骼名,**必须保留**, 已回滚误改(mmd-skeleton.ts、mmd-vmd.spec.ts、inspect-vmd.mjs、各契约) 验证:168 项单测通过(含 VMD 31 项,确认全角骨骼名未被破坏)。
35 lines
829 B
Desktop File
35 lines
829 B
Desktop File
[Unit]
|
||
Description=OpenDance Studio Web 管理服务端(NestJS)
|
||
Documentation=https://<Gitea 地址>/<owner>/opendance-web
|
||
After=network-online.target
|
||
Wants=network-online.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=__SERVICE_USER__
|
||
Group=__SERVICE_USER__
|
||
WorkingDirectory=__APP_DIR__/web-server
|
||
EnvironmentFile=__APP_DIR__/deploy/.env
|
||
ExecStart=__NODE_BIN__ dist/main.js
|
||
Restart=always
|
||
RestartSec=3
|
||
StandardOutput=journal
|
||
StandardError=journal
|
||
SyslogIdentifier=opendance-api
|
||
|
||
# ---- 安全加固(进程只应写自己的存储目录)----
|
||
NoNewPrivileges=true
|
||
PrivateTmp=true
|
||
ProtectSystem=strict
|
||
ProtectHome=true
|
||
ProtectKernelTunables=true
|
||
ProtectKernelModules=true
|
||
ProtectControlGroups=true
|
||
RestrictSUIDSGID=true
|
||
RestrictRealtime=true
|
||
LockPersonality=true
|
||
ReadWritePaths=__STORAGE_PARENT__
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|