xlcp/deploy/config/application-prod.yaml
tangweijie c5909c6266 feat: 添加后端和前端编译脚本及Docker配置
- 新增 build.sh 脚本用于编译后端 Java 项目和前端 Vue3 项目,并生成部署包
- 新增 docker-compose.yml 文件以配置 MySQL、Redis、后端和前端服务
- 新增 application-prod.yaml 配置文件用于后端服务
- 新增 Dockerfile 用于后端服务的容器化部署
- 新增 SQL 初始化脚本 xlcp_dev.sql
- 新增部署文档 DEPLOYMENT.md 详细描述部署流程和环境要求
2026-01-22 09:29:17 +08:00

151 lines
3.7 KiB
YAML

spring:
application:
name: xl-prison-server
# 数据源配置(使用新建的 MySQL 容器)
datasource:
dynamic:
datasource:
master:
# 使用 Docker 服务名连接 MySQL
url: jdbc:mysql://mysql:3306/prison?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useUnicode=true&characterEncoding=utf8
username: root
password: Prison2024!@
driver-class-name: com.mysql.cj.jdbc.Driver
slave:
# 从库配置(可选,如果不需要可以删除或保持与主库相同)
url: jdbc:mysql://mysql:3306/prison?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useUnicode=true&characterEncoding=utf8
username: root
password: Prison2024!@
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
# 连接池配置
maximum-pool-size: 20
minimum-idle: 5
idle-timeout: 600000
connection-timeout: 30000
max-lifetime: 1800000
pool-name: PrisonHikariCP
# 连接健康检测
connection-test-query: SELECT 1
# Redis 配置(使用新建的 Redis 容器)
data:
redis:
host: redis
port: 6379
password: Prison2024!@
database: 0
timeout: 10000ms
lettuce:
pool:
max-active: 20
max-wait: -1ms
max-idle: 10
min-idle: 0
shutdown-timeout: 100ms
# 文件上传配置
servlet:
multipart:
enabled: true
max-file-size: 100MB
max-request-size: 100MB
file-size-threshold: 2KB
# Jackson 配置
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
serialization:
write-dates-as-timestamps: false
# 服务器配置
server:
port: 48080
servlet:
context-path: /
compression:
enabled: true
mime-types: application/json,application/xml,text/html,text/xml,text/plain
error:
include-message: always
include-binding-errors: always
# 应用配置
app:
name: XL监狱综合管理平台
version: 1.0.0
# 验证码配置
captcha:
enabled: true
type: math
# 文件上传配置
upload:
path: ./data/upload
avatar-path: ./data/upload/avatar
cache-path: ./data/upload/cache
# XSS 过滤配置
security:
xss:
enabled: true
exclude-urls:
- /admin/ck/uploadImage
- /admin/oss/uploadToAliCloudV2
- /admin/oss/uploadToTencentCloudV2
# 日志配置
logging:
level:
root: INFO
cn.iocoder.yudao: DEBUG
cn.iocoder.yudao.module.prison: DEBUG
file:
name: logs/yudao-server.log
logback:
rollingpolicy:
max-history: 30
max-file-size: 100MB
total-size-cap: 3GB
# MyBatis Plus 配置
mybatis-plus:
mapper-locations: classpath*:mapper/**/*.xml
type-aliases-package: cn.iocoder.yudao.module.*.dal.dataobject
global-config:
db-config:
id-type: auto
logic-delete-field: deleted
logic-delete-value: 1
logic-not-delete-value: 0
banner: false
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# Actuator 监控配置
management:
endpoints:
web:
exposure:
include: health,info,metrics,prometheus
base-path: /actuator
endpoint:
health:
show-details: always
metrics:
tags:
application: ${spring.application.name}
# LLM 配置(用于危险评估智能分析)
llm:
local:
base-url: ${LLM_BASE_URL:http://127.0.0.1:5001/v1}
api-key: ${LLM_API_KEY:}
model: ${LLM_MODEL:}
timeout-seconds: ${LLM_TIMEOUT:120}