server: port: 48080 --- #################### 数据库相关配置 #################### spring: autoconfigure: # noinspection SpringBootApplicationYaml exclude: - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置 - org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration # 禁用 AI 模块的 Qdrant,手动创建 - org.springframework.ai.vectorstore.redis.autoconfigure.RedisVectorStoreAutoConfiguration # 禁用 AI 模块的 Redis,手动创建 - org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusVectorStoreAutoConfiguration # 禁用 AI 模块的 Milvus,手动创建 - org.dromara.trans.config.TransServiceConfig # TODO 芋艿:easy-trans 兼容 Spring Boot 4 后移除(TransServiceConfig 引用了已移除的 RestTemplateBuilder) # 禁用未配置 API Key 的模型自动配置(只保留通义千问 Embedding 的手动配置) - org.springframework.ai.model.openai.autoconfigure.OpenAiChatAutoConfiguration - org.springframework.ai.model.openai.autoconfigure.OpenAiEmbeddingAutoConfiguration - org.springframework.ai.model.openai.autoconfigure.OpenAiImageAutoConfiguration - org.springframework.ai.model.openai.autoconfigure.OpenAiAudioSpeechAutoConfiguration - org.springframework.ai.model.openai.autoconfigure.OpenAiAudioTranscriptionAutoConfiguration - org.springframework.ai.model.openai.autoconfigure.OpenAiModerationAutoConfiguration - org.springframework.ai.model.deepseek.autoconfigure.DeepSeekChatAutoConfiguration - org.springframework.ai.model.anthropic.autoconfigure.AnthropicChatAutoConfiguration - org.springframework.ai.model.google.genai.autoconfigure.chat.GoogleGenAiChatAutoConfiguration - org.springframework.ai.model.google.genai.autoconfigure.embedding.GoogleGenAiEmbeddingConnectionAutoConfiguration - org.springframework.ai.model.google.genai.autoconfigure.embedding.GoogleGenAiTextEmbeddingAutoConfiguration - org.springframework.ai.model.ollama.autoconfigure.OllamaApiAutoConfiguration - org.springframework.ai.model.ollama.autoconfigure.OllamaChatAutoConfiguration - org.springframework.ai.model.ollama.autoconfigure.OllamaEmbeddingAutoConfiguration - org.springframework.ai.model.stabilityai.autoconfigure.StabilityAiImageAutoConfiguration # 数据源配置项 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: enabled: true stat-view-servlet: enabled: true allow: # 设置白名单,不填则允许所有访问 url-pattern: /druid/* login-username: # 控制台管理用户名和密码 login-password: filter: stat: enabled: true log-slow-sql: true # 慢 SQL 记录 slow-sql-millis: 100 merge-sql: true wall: config: multi-statement-allow: true dynamic: # 多数据源配置 druid: # Druid 【连接池】相关的全局配置 initial-size: 1 # 初始连接数 min-idle: 1 # 最小连接池数量 max-active: 20 # 最大连接池数量 max-wait: 60000 # 配置获取连接等待超时的时间,单位:毫秒(1 分钟) time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒(1 分钟) min-evictable-idle-time-millis: 600000 # 配置一个连接在池中最小生存的时间,单位:毫秒(10 分钟) max-evictable-idle-time-millis: 1800000 # 配置一个连接在池中最大生存的时间,单位:毫秒(30 分钟) validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效 test-while-idle: true test-on-borrow: false test-on-return: false pool-prepared-statements: true # 是否开启 PreparedStatement 缓存 max-pool-prepared-statement-per-connection-size: 20 # 每个连接缓存的 PreparedStatement 数量 primary: master datasource: master: url: jdbc:mysql://172.17.0.1:10000/mom-chdl?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例 username: root password: xd@123456.. # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: redis: host: 172.17.0.1 # 地址 port: 9999 # 端口 database: 5 # 数据库索引 # password: dev # 密码,建议生产环境开启 --- #################### 定时任务相关配置 #################### # Quartz 配置项,对应 QuartzProperties 配置类 spring: quartz: auto-startup: true # 本地开发环境,尽量不要开启 Job scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。 wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档 org: quartz: # Scheduler 相关配置 scheduler: instanceName: schedulerName instanceId: AUTO # 自动生成 instance ID # JobStore 相关配置 jobStore: # JobStore 实现类。可见博客:https://blog.csdn.net/weixin_42458219/article/details/122247162 class: org.springframework.scheduling.quartz.LocalDataSourceJobStore isClustered: true # 是集群模式 clusterCheckinInterval: 15000 # 集群检查频率,单位:毫秒。默认为 15000,即 15 秒 misfireThreshold: 60000 # misfire 阀值,单位:毫秒。 # 线程池相关配置 threadPool: threadCount: 25 # 线程池大小。默认为 10 。 threadPriority: 5 # 线程优先级 class: org.quartz.simpl.SimpleThreadPool # 线程池类型 jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置 initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ,我们手动创建表结构。 --- #################### 服务保障相关配置 #################### # Lock4j 配置项 lock4j: acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒 expire: 30000 # 分布式锁的超时时间,默认为 30000 毫秒 --- #################### 监控相关配置 #################### # Actuator 监控端点的配置项 management: endpoints: web: base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator exposure: include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 # Spring Boot Admin 配置项 spring: boot: admin: # Spring Boot Admin Client 客户端的相关配置 client: url: http://127.0.0.1:${server.port}/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址 instance: service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME] username: admin password: admin # Spring Boot Admin Server 服务端的相关配置 context-path: /admin # 配置 Spring # 允许嵌入 iframe 的域名(支持通配符),实际部署时,可以改为 "'self' [你的公网域名]" frame-ancestors: "'self' localhost localhost:48080 127.0.0.1 127.0.0.1:48080" # 日志文件配置 logging: file: name: logs/${spring.application.name}.log # 日志文件名,相对于项目根目录 level: # 配置自己写的 MyBatis Mapper 打印日志 cn.iocoder.yudao.module.bpm.dal.mysql: debug cn.iocoder.yudao.module.infra.dal.mysql: debug cn.iocoder.yudao.module.infra.dal.mysql.logger.ApiErrorLogMapper: INFO # 配置 ApiErrorLogMapper 的日志级别为 info,避免和 GlobalExceptionHandler 重复打印 cn.iocoder.yudao.module.infra.dal.mysql.job.JobLogMapper: INFO # 配置 JobLogMapper 的日志级别为 info cn.iocoder.yudao.module.infra.dal.mysql.file.FileConfigMapper: INFO # 配置 FileConfigMapper 的日志级别为 info cn.iocoder.yudao.module.system.dal.mysql: debug cn.iocoder.yudao.module.system.dal.mysql.sms.SmsChannelMapper: INFO # 配置 SmsChannelMapper 的日志级别为 info cn.iocoder.yudao.module.member.dal.mysql: debug cn.iocoder.yudao.module.crm.dal.mysql: debug cn.iocoder.yudao.module.erp.dal.mysql: debug cn.iocoder.yudao.module.mes.dal.mysql: debug cn.iocoder.yudao.module.ai.dal.mysql: debug cn.iocoder.yudao.module.im.dal.mysql: debug org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 芋艿:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示 debug: false yudao: ai: timeout: 60s # 单次大模型调用超时;不设的话模型排队时请求会一直挂起 vector-store: type: milvus # 向量库类型:milvus milvus: initialize-schema: true database-name: test collection-name: knowledge_segment_chdl host: 36.213.90.123 port: 19530 --- #################### 超级管理员相关配置 #################### # 超级管理员配置项,设置当前项目所有自定义的配置 yudao: captcha: enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试; security: mock-enable: true access-log: # 访问日志的配置项 enable: false demo: false # 关闭演示模式 storage: # 文件上传配置 path: /data/javaWork/mom/file # 文件存储根目录 url-prefix: /admin-api/system/storage-blob # URL路径前缀 domain: http://36.213.150.237:9003 # 域名前缀(按实际域名配置),前端配置好像不太对现在是直连后端,所有要后端端口 expired: 120 # token过期时间(分钟) use-limit: 10 # token使用次数上限 jwt-secret: abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG # JWT密钥 compress: true # 是否压缩图片 need-compress-size: 10MB # 触发压缩的文件大小阈值 compress-quality: 0.5 # 压缩质量(0.0-1.0) qcreport: # 智能质检报告 pdf: # PDF 出件:服务端调 Chromium 把报告 HTML 打印成 PDF # 部署前置(容器内,见生产 Dockerfile 的 USER root): # 1) 浏览器:多阶段构建从 mcr.microsoft.com/playwright:v1.63.0-jammy 里 # COPY --from 取出 /ms-playwright 下的 chromium(该镜像底座是 Ubuntu 22.04/glibc 2.35, # 与运行镜像一致)。Playwright 不会替你下载浏览器,装在宿主机也没用,必须进镜像; # 构建末尾把它软链到 /usr/local/bin/chromium,并用 --version + ldd 自检, # 装失败就直接中断构建,不拖到用户点导出才暴露 # 2) 中文字体:报告正文是中文,缺 CJK 字体会打成方框,需装 fonts-wqy-zenhei / Noto Sans CJK # 3) 以 root 运行:Chromium 不加 --no-sandbox 会直接拒绝启动;容器 /dev/shm 默认仅 64M, # 还需 --disable-dev-shm-usage,否则渲染大报告时会随机崩 enabled: true # 关掉后导出接口会明确报「未启用」,而不是抛 500 channel: '' # 留空:改由下面的 executable-path 指定镜像内的 chromium executable-path: /usr/local/bin/chromium # 镜像内 chromium 的固定位置,由 Dockerfile 建软链保证 concurrency: 2 # 同时进行的 PDF 渲染上限,Chromium 很吃内存,不要放开 timeout-ms: 30000 # 单次渲染超时(毫秒),同时也是排队等并发名额的上限 show-page-number: true # 页脚打印「第 N 页 / 共 M 页」 browser-args: [ '--no-sandbox', '--disable-dev-shm-usage' ] # 容器内以 root 运行必需,两项都不能去掉 ai-import: # AI 导入:上传既有报告文件,识别成模板草稿 # 部署前置:应用服务器需能出网访问 DashScope(通义千问)。内网部署请把 enabled 置 false, # 接口会明确报「未启用」而不是一直等到 AI 超时。此外还需在「AI 大模型」里配好对话模型与密钥。 enabled: true max-files: 3 # 一次最多几个文件 max-pages-per-file: 5 # 单文件页数上限,超出报错而不是静默截断 max-pages-per-request: 8 # 一次请求累计页数上限(多文件叠加后的总闸) max-duration-seconds: 180 # 一次导入总耗时上限(两次调用之间检查);前端超时须比它加上 yudao.ai.timeout 更宽 max-file-size-mb: 20 # 单文件大小上限 max-components: 200 # 识别出的组件总数上限,超出截断并在提示里说明 pdf-text-page-threshold: 30 # 平均每页字符数低于此值即按扫描件逐页转图识别 render-dpi: 200 # 扫描页转图的 DPI,低于 200 中文字形会糊 max-xlsx-rows: 300 # Excel 单表最多读取的行数 database-backup: # 数据库备份配置 host: 172.17.0.1 # 备份目标 MySQL 主机,留空自动从数据源 JDBC URL 解析 port: 9002 # 备份目标 MySQL 端口,留空自动从数据源 JDBC URL 解析 database: mom-chdl # 备份目标数据库,留空自动从数据源 JDBC URL 解析 username: root # 备份账号,留空使用数据源账号 password: 'xd@123456..' # 备份密码,留空使用数据源密码 command: # mysqldump 命令,留空自动检测部署环境(本机 mysqldump 或 Docker MySQL 容器);可手动指定,如:docker exec mysql8 mysqldump