2026-11-04 21:44:56 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# s-file 客户侧静态默认配置(两台机器共用同一份,现场一般不用改)
|
|
|
|
|
|
#
|
|
|
|
|
|
# 随角色/环境变化的取值一律由 docker-compose 的环境变量注入,本文件不放:
|
|
|
|
|
|
# 数据库/Redis/MQ 地址与口令、JWT 密钥、用户初始密码、传输方向与摆渡目录、
|
|
|
|
|
|
# MeshSafe 开关与凭证、MQ 交换机命名 —— 全部在 .env 里填
|
|
|
|
|
|
# 这样交付物里不存在任何写死的口令或密钥
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
server:
|
|
|
|
|
|
port: 8080
|
|
|
|
|
|
|
|
|
|
|
|
spring:
|
|
|
|
|
|
application:
|
|
|
|
|
|
name: s-file
|
|
|
|
|
|
datasource:
|
|
|
|
|
|
driver-class-name: org.postgresql.Driver
|
|
|
|
|
|
type: com.alibaba.druid.pool.DruidDataSource
|
|
|
|
|
|
druid:
|
|
|
|
|
|
initial-size: 5
|
|
|
|
|
|
min-idle: 5
|
|
|
|
|
|
max-active: 50
|
|
|
|
|
|
validation-query: SELECT 1
|
|
|
|
|
|
test-while-idle: true
|
|
|
|
|
|
# 摆渡解包/送检会在多任务里并发取连接,压太低会出现等待
|
|
|
|
|
|
max-wait: 10000
|
|
|
|
|
|
redis:
|
|
|
|
|
|
timeout: 5000
|
|
|
|
|
|
lettuce:
|
|
|
|
|
|
pool:
|
|
|
|
|
|
max-active: 16
|
|
|
|
|
|
max-idle: 8
|
|
|
|
|
|
servlet:
|
|
|
|
|
|
multipart:
|
|
|
|
|
|
max-file-size: 500MB
|
|
|
|
|
|
max-request-size: 500MB
|
|
|
|
|
|
main:
|
|
|
|
|
|
allow-bean-definition-overriding: true
|
|
|
|
|
|
|
|
|
|
|
|
mybatis-plus:
|
|
|
|
|
|
mapper-locations: classpath*:com/senmesh/**/mapper/*.xml
|
|
|
|
|
|
|
|
|
|
|
|
# 平台编码,需与 sql/02-init-data.sql 里 uc_platform.platform_code 一致
|
|
|
|
|
|
system:
|
|
|
|
|
|
code: 1
|
|
|
|
|
|
|
|
|
|
|
|
security:
|
|
|
|
|
|
jwt:
|
|
|
|
|
|
enable: true
|
|
|
|
|
|
# secret 由环境变量 SECURITY_JWT_SECRET 注入,勿在此填写
|
|
|
|
|
|
expiration: 86400000
|
|
|
|
|
|
header: Authorization
|
|
|
|
|
|
ignoring: /error,/favicon.ico
|
|
|
|
|
|
login-page: /login
|
|
|
|
|
|
superior-only: false
|
|
|
|
|
|
# 单机自闭环部署:权限走本地库,不接外部用户中心
|
|
|
|
|
|
use-local: true
|
|
|
|
|
|
allow-if-all-abstain-decisions: true
|
|
|
|
|
|
oauth2:
|
|
|
|
|
|
enable: false
|
|
|
|
|
|
not-logs: ""
|
|
|
|
|
|
anonymous: ""
|
|
|
|
|
|
|
|
|
|
|
|
# 新用户初始密码由环境变量 USER_DEFAULT_PASSWORD 注入
|
|
|
|
|
|
user:
|
|
|
|
|
|
default:
|
|
|
|
|
|
password: ${USER_DEFAULT_PASSWORD:}
|
|
|
|
|
|
|
|
|
|
|
|
file:
|
2026-11-05 01:07:54 +08:00
|
|
|
|
# 这个前缀必须与老系统一致:库里 xs_file_record.file_path 存的是拼接好的绝对路径,
|
|
|
|
|
|
# 换前缀 = 历史文件全部读不到(要迁数据)。compose 里 app 的挂载点必须与这里逐字相同
|
|
|
|
|
|
upload-dir: /var/s-file/upload
|
2026-11-04 21:44:56 +08:00
|
|
|
|
storage:
|
|
|
|
|
|
type: local
|
|
|
|
|
|
transfer:
|
|
|
|
|
|
# location / send-dir / receive-dir / monitor.cron 均由环境变量注入
|
|
|
|
|
|
# 解包时是否再做一次内容风险识别(依赖下面的 dify,未部署 dify 时保持 false)
|
|
|
|
|
|
unpack-risk-check: false
|
|
|
|
|
|
monitor:
|
|
|
|
|
|
# 单轮处理时间预算(秒)。超预算即结束本轮,剩余留给下一轮。
|
|
|
|
|
|
# 与监听周期配套:周期 5 秒则预算留 4 秒,保证两轮不互相挤压。
|
|
|
|
|
|
# 目录持续积压(日志「目录剩余待处理」超过 50)时调大此值
|
|
|
|
|
|
round-budget-seconds: 4
|
|
|
|
|
|
# 单轮兜底个数上限,防止极端场景单轮过长
|
|
|
|
|
|
round-max-files: 500
|
|
|
|
|
|
# 包内单个文件大小上限(MB)。解包时整个文件读进堆,峰值约 2-3 倍文件大小,
|
|
|
|
|
|
# 超限直接标 .error 而不是解包到 OOM。按 APP_JAVA_OPTS 的 -Xmx 调整:-Xmx3g 对应 512
|
|
|
|
|
|
max-unpack-size-mb: 512
|
|
|
|
|
|
# 校验不通过或解包异常,且文件静止超过该秒数即判定为坏包,标 .error 停止重试。
|
|
|
|
|
|
# 用于区分「光闸还在搬」与「搬完了但是坏包」,必须大于光闸搬运单个包的最长时间
|
|
|
|
|
|
stale-after-seconds: 300
|
|
|
|
|
|
|
|
|
|
|
|
# 内容风险识别(Dify)。未部署 Dify 时留空并保持 file.transfer.unpack-risk-check=false
|
|
|
|
|
|
dify:
|
|
|
|
|
|
risk:
|
|
|
|
|
|
rule:
|
|
|
|
|
|
api-key: ""
|
|
|
|
|
|
scan:
|
|
|
|
|
|
api-key: ""
|
|
|
|
|
|
|
|
|
|
|
|
# MeshSafe 全段由环境变量注入(MESHSAFE_*),未部署时 MESHSAFE_ENABLED=false 即可,
|
|
|
|
|
|
# 前端会自动隐藏「安全检测」列,跨网摆渡不受影响
|
|
|
|
|
|
meshsafe:
|
|
|
|
|
|
review-sync-to-meshsafe: true
|
|
|
|
|
|
|
|
|
|
|
|
# 接口文档在生产关闭
|
|
|
|
|
|
swagger:
|
|
|
|
|
|
enable: false
|
|
|
|
|
|
|
2026-11-05 01:07:54 +08:00
|
|
|
|
# 日志文件路径与格式沿用老系统(/usr/local/logs/s-file.log),
|
|
|
|
|
|
# compose 把宿主机 volumes/logs 挂到 /usr/local/logs,日志直接落数据盘、重装不丢
|
2026-11-04 21:44:56 +08:00
|
|
|
|
logging:
|
2026-11-05 01:07:54 +08:00
|
|
|
|
file:
|
|
|
|
|
|
name: /usr/local/logs/s-file.log
|
|
|
|
|
|
pattern:
|
|
|
|
|
|
console: "%d{yyyy/MM/dd-HH:mm:ss} %X{traceId:-} [%thread] %-5level %logger- %msg%n"
|
|
|
|
|
|
file: "%d{yyyy/MM/dd-HH:mm:ss} %X{traceId:-} [%thread] %-5level %logger- %msg%n"
|
|
|
|
|
|
logback:
|
|
|
|
|
|
rollingpolicy:
|
|
|
|
|
|
# 老系统没配轮转,日志单文件会一直长;这里按天切、最多留 30 天
|
|
|
|
|
|
max-history: 30
|
2026-11-04 21:44:56 +08:00
|
|
|
|
level:
|
|
|
|
|
|
com.senmesh: info
|