mirror of
https://gitee.com/270580156/weiyu.git
synced 2025-12-30 10:52:26 +00:00
1166 lines
44 KiB
Properties
1166 lines
44 KiB
Properties
# ===============================
|
||
#=bytedesk
|
||
# ===============================
|
||
bytedesk.debug=true
|
||
bytedesk.version=0.9.8
|
||
# 申请实际的license
|
||
# https://www.weiyuai.cn/docs/zh-CN/docs/faq#%E9%97%AE%E9%A2%9813%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E8%AF%95%E7%94%A8%E7%89%88license
|
||
bytedesk.licenseKey=
|
||
|
||
# enable custom config: name, logo, description
|
||
bytedesk.custom.enabled=false
|
||
# default null use default name
|
||
bytedesk.custom.name=
|
||
# default null use default logo
|
||
bytedesk.custom.logo=
|
||
# default null use: Chat As A Service
|
||
bytedesk.custom.description=
|
||
# show right corner chat
|
||
bytedesk.custom.show-right-corner-chat=false
|
||
# show demo
|
||
bytedesk.custom.show-demo=false
|
||
# privacy policy url
|
||
bytedesk.custom.privacy-policy-url=https://www.weiyuai.cn/privacy.html
|
||
# terms of service url
|
||
bytedesk.custom.terms-of-service-url=https://www.weiyuai.cn/terms.html
|
||
# enable login username
|
||
bytedesk.custom.login-username-enable=true
|
||
# 密码错误最大重试次数, 默认3次, 0表示不限制。
|
||
bytedesk.custom.login-max-retry-count=3
|
||
# 超过次数默认锁定10分钟, 0表示不锁定
|
||
bytedesk.custom.login-max-retry-lock-time=10
|
||
# enable login mobile
|
||
bytedesk.custom.login-mobile-enable=true
|
||
# enable login email
|
||
# bytedesk.custom.login-email-enable=false
|
||
# enable login scan
|
||
bytedesk.custom.login-scan-enable=true
|
||
# enable wechat login
|
||
bytedesk.custom.login-wechat-enable=false
|
||
# enable github login
|
||
bytedesk.custom.login-github-enable=false
|
||
# enable facebook login
|
||
bytedesk.custom.login-facebook-enable=false
|
||
# enable google login
|
||
bytedesk.custom.login-google-enable=false
|
||
# enable dingtalk login
|
||
bytedesk.custom.login-dingtalk-enable=false
|
||
# enable douyin login
|
||
bytedesk.custom.login-douyin-enable=false
|
||
# enable feishu login
|
||
bytedesk.custom.login-feishu-enable=false
|
||
# enable ldap login
|
||
bytedesk.custom.login-ldap-enable=false
|
||
# enable cas login
|
||
bytedesk.custom.login-cas-enable=false
|
||
# enable oidc login
|
||
bytedesk.custom.login-oidc-enable=false
|
||
# enable openid login
|
||
bytedesk.custom.login-openid-enable=false
|
||
# show doc url
|
||
bytedesk.custom.doc-url-show=true
|
||
# doc url
|
||
bytedesk.custom.doc-url=https://www.weiyuai.cn/docs/zh-CN/
|
||
# lang: zh-CN/en-US/zh-TW
|
||
bytedesk.custom.lang=zh-CN
|
||
# allow register
|
||
bytedesk.custom.allow-register=false
|
||
# force validate mobile
|
||
bytedesk.custom.force-validate-mobile=true
|
||
# force validate email
|
||
bytedesk.custom.force-validate-email=true
|
||
# force visitor auth
|
||
bytedesk.custom.force-visitor-auth=false
|
||
|
||
|
||
# ===============================
|
||
# Admin config
|
||
# ===============================
|
||
# admin email
|
||
bytedesk.admin.email=admin@email.com
|
||
# admin password
|
||
bytedesk.admin.password=admin
|
||
# admin nickname
|
||
bytedesk.admin.nickname=SuperAdmin
|
||
# admin mobile
|
||
bytedesk.admin.mobile=13345678000
|
||
# white list mobile
|
||
bytedesk.admin.mobile-whitelist=18888888000,18888888001,18888888002,18888888003,18888888004,18888888005
|
||
# white list email
|
||
bytedesk.admin.email-whitelist=100@email.com,101@email.com,102@email.com,103@email.com,104@email.com,105@email.com
|
||
# validate code for white list mobile and email, otherwise random 6 digits
|
||
bytedesk.admin.validate-code=123456
|
||
|
||
# ===============================
|
||
#= Member config
|
||
# ===============================
|
||
# create/import member default password
|
||
bytedesk.member.password=123456
|
||
|
||
# ===============================
|
||
#= Performance Testing config
|
||
# ===============================
|
||
bytedesk.testing.enabled=false
|
||
# bytedesk.testing.account-count=300
|
||
# bytedesk.testing.account-username=test
|
||
# bytedesk.testing.account-password=password
|
||
bytedesk.testing.disable-captcha=true
|
||
bytedesk.testing.disable-ip-filter=true
|
||
# whitelist ip for performance testing
|
||
bytedesk.testing.ip-whitelist=127.0.0.1,127.0.0.2
|
||
|
||
# ===============================
|
||
# Organization config
|
||
# ===============================
|
||
# organization name
|
||
bytedesk.organization.name=MyCompany
|
||
# organization code
|
||
bytedesk.organization.code=bytedesk
|
||
|
||
# ===============================
|
||
# Features config
|
||
# ===============================
|
||
# enable java ai
|
||
bytedesk.features.java-ai=true
|
||
# send email by javamail, valid value: javamail/aliyun
|
||
bytedesk.features.email-type=javamail
|
||
# 头像的访问地址,请修改为服务器实际的地址
|
||
bytedesk.features.avatar-base-url=http://127.0.0.1:9003
|
||
|
||
# ===============================
|
||
# CORS config
|
||
# ===============================
|
||
bytedesk.cors.allowed-origins=*
|
||
|
||
# ===============================
|
||
# JWT config
|
||
# ===============================
|
||
bytedesk.jwt.secret-key=1dfaf8d004207b628a9a6b859c429f49a9a7ead9fd8161c1e60847aeef06dbd2
|
||
# 30 days, milliseconds
|
||
bytedesk.jwt.expiration=2592000000
|
||
# 60 days, milliseconds
|
||
bytedesk.jwt.refresh-token-expiration=5184000000
|
||
|
||
# ===============================
|
||
# Cache config
|
||
# ===============================
|
||
# 0: no cache, 1: caffeine cache, 2: caffeine + redis cache
|
||
bytedesk.cache.level=0
|
||
# cache prefix
|
||
bytedesk.cache.prefix=bytedeskim
|
||
# redis stream key
|
||
bytedesk.cache.redis-stream-key=bytedeskim:stream
|
||
# bytedesk.redis-pubsub-channel=bytedeskim:pubsub
|
||
|
||
# ===============================
|
||
# redis pool config
|
||
# ===============================
|
||
bytedesk.redis.pool-config.maxIdle=64
|
||
bytedesk.redis.pool-config.maxTotal=64
|
||
bytedesk.redis.pool-config.minIdle=8
|
||
|
||
# ===============================
|
||
#=spring-boot-starter-cache
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.cache
|
||
# ===============================
|
||
# disable caching: none, https://docs.spring.io/spring-boot/docs/3.2.0/reference/htmlsingle/#io.caching.provider.none
|
||
# https://docs.spring.io/spring-boot/reference/io/caching.html
|
||
# https://docs.spring.io/spring-framework/reference/integration/cache/annotations.html#cache-spel-context
|
||
spring.cache.type=none
|
||
# spring.cache.type=redis
|
||
# spring.cache.type=caffeine
|
||
# spring.cache.caffeine.spec=maximumSize=100,expireAfterAccess=5m
|
||
#
|
||
spring.cache.redis.cache-null-values=false
|
||
spring.cache.redis.use-key-prefix=true
|
||
spring.cache.redis.key-prefix=bytedeskim:
|
||
#
|
||
# ===============================
|
||
#=spring-boot-starter-data-redis
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data
|
||
# REDIS_URL="redis://:qfRxz3tVT8Nh@127.0.0.1:6379/0"
|
||
# ===============================
|
||
spring.data.redis.database=0
|
||
spring.data.redis.host=127.0.0.1
|
||
# 默认6379端口,为防止与本地冲突,docker中为16379
|
||
spring.data.redis.port=16379
|
||
spring.data.redis.password=qfRxz3tVT8Nh
|
||
spring.data.redis.timeout=10000
|
||
# disable redis repository
|
||
spring.data.redis.repositories.enabled=false
|
||
|
||
# ===============================
|
||
# Upload config
|
||
# ===============================
|
||
# Upload config, no '/'
|
||
bytedesk.upload.type=local
|
||
# upload dir
|
||
bytedesk.upload.dir=uploads
|
||
# 上传文件的访问地址,请修改为服务器实际的地址
|
||
bytedesk.upload.url=http://127.0.0.1:9003
|
||
|
||
# ===============================
|
||
# = MinIO 对象存储配置
|
||
# ===============================
|
||
# 是否启用 MinIO 存储
|
||
bytedesk.minio.enabled=false
|
||
# MinIO 服务地址
|
||
bytedesk.minio.endpoint=http://127.0.0.1:19000
|
||
# MinIO 访问密钥
|
||
bytedesk.minio.access-key=minioadmin
|
||
# MinIO 密钥
|
||
bytedesk.minio.secret-key=minioadmin123
|
||
# MinIO 存储桶名称
|
||
bytedesk.minio.bucket-name=bytedesk
|
||
# MinIO 区域
|
||
bytedesk.minio.region=us-east-1
|
||
# 是否使用 HTTPS
|
||
bytedesk.minio.secure=false
|
||
|
||
# ===============================
|
||
# Knowledge base config
|
||
# ===============================
|
||
# theme: default/eduport/social/kbdoc
|
||
bytedesk.kbase.theme=default
|
||
# html path
|
||
bytedesk.kbase.html-path=helpcenter
|
||
# bytedesk.kbase.template-path=classpath:/templates/ftl/kbase
|
||
# 知识库的访问地址,请修改为服务器实际的地址
|
||
bytedesk.kbase.api-url=http://127.0.0.1:9003
|
||
|
||
# ===============================
|
||
#=com.bytedesk.socket module
|
||
# ===============================
|
||
# enable socket
|
||
bytedesk.socket.enabled=true
|
||
# socket host
|
||
bytedesk.socket.host=0.0.0.0
|
||
# socket port
|
||
# bytedesk.socket.port=9883
|
||
# websocket port
|
||
bytedesk.socket.websocket-port=9885
|
||
# leak detector level
|
||
bytedesk.socket.leak-detector-level=SIMPLE
|
||
# parent event loop group thread count
|
||
bytedesk.socket.parent-event-loop-group-thread-count=1
|
||
# child event loop group thread count
|
||
bytedesk.socket.child-event-loop-group-thread-count=8
|
||
# max payload size
|
||
bytedesk.socket.max-payload-size=10240
|
||
|
||
# ===============================
|
||
#= Call FreeSwitch config
|
||
# ===============================
|
||
# enable call freeswitch
|
||
bytedesk.call.freeswitch.enabled=false
|
||
# freeswitch server ip
|
||
bytedesk.call.freeswitch.server=127.0.0.1
|
||
# esl port
|
||
bytedesk.call.freeswitch.esl-port=8021
|
||
# esl password
|
||
bytedesk.call.freeswitch.esl-password=password
|
||
# sip port - 根据服务器实际端口修改
|
||
bytedesk.call.freeswitch.sip-port=5060
|
||
# webrtc port - 根据服务器实际端口修改
|
||
bytedesk.call.freeswitch.webrtc-port=7443
|
||
# websocket signal port - 根据服务器实际端口修改
|
||
bytedesk.call.freeswitch.ws-port=5066
|
||
# call timeout seconds - 增加超时时间
|
||
bytedesk.call.freeswitch.call-timeout=120
|
||
# rtp port range - 扩大端口范围
|
||
# bytedesk.call.freeswitch.rtp-port-start=16000
|
||
# bytedesk.call.freeswitch.rtp-port-end=16999
|
||
# 新增配置
|
||
# bytedesk.call.freeswitch.max-sessions=1000
|
||
# bytedesk.call.freeswitch.sessions-per-second=30
|
||
# bytedesk.call.freeswitch.log-level=WARNING
|
||
|
||
# ===============================
|
||
#= etcd 分布式键值存储配置
|
||
# ===============================
|
||
# 是否启用 etcd
|
||
bytedesk.etcd.enabled=false
|
||
# etcd 服务器端点列表(支持多个,逗号分隔)
|
||
bytedesk.etcd.endpoints=http://localhost:12379
|
||
# 连接超时时间(毫秒)
|
||
bytedesk.etcd.connect-timeout=5000
|
||
# 请求超时时间(毫秒)
|
||
bytedesk.etcd.request-timeout=3000
|
||
# 命名空间/前缀(用于隔离不同应用的数据)
|
||
bytedesk.etcd.namespace=/bytedesk
|
||
# 用户名(如果需要认证)
|
||
# bytedesk.etcd.username=
|
||
# 密码(如果需要认证)
|
||
# bytedesk.etcd.password=
|
||
# 租约 TTL(秒)- 用于服务注册等场景
|
||
bytedesk.etcd.lease-ttl=30
|
||
# 租约续期间隔(秒)
|
||
bytedesk.etcd.lease-keep-alive-interval=10
|
||
|
||
# ===============================
|
||
#=com.bytedesk.cluster module
|
||
# ===============================
|
||
# enable cluster
|
||
bytedesk.cluster.enabled=false
|
||
# cluster nodes
|
||
bytedesk.cluster.nodes=127.0.0.1,127.0.0.2
|
||
# bytedesk.cluster.host=230.0.0.0
|
||
# bytedesk.cluster.port=6781
|
||
# bytedesk.cluster.client-port=6771
|
||
|
||
# ===============================
|
||
#= push
|
||
# ===============================
|
||
# apns bundle id
|
||
bytedesk.push.apns.bundle-id=com.kefux.im
|
||
# apns p12 url
|
||
bytedesk.push.apns.p12-url=123.p12
|
||
# apns p12 password
|
||
bytedesk.push.apns.p12-password=123456
|
||
|
||
# ===============================
|
||
#= Watermark config
|
||
# ===============================
|
||
# 是否启用水印功能
|
||
bytedesk.watermark.enabled=true
|
||
# 水印文字
|
||
bytedesk.watermark.text=bytedesk.com
|
||
# 水印位置: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, CENTER
|
||
bytedesk.watermark.position=BOTTOM_RIGHT
|
||
# 字体大小
|
||
bytedesk.watermark.fontSize=24
|
||
# 字体名称
|
||
bytedesk.watermark.fontName=Arial
|
||
# 水印颜色 (RGBA格式: R,G,B,A)
|
||
bytedesk.watermark.color=255,255,255,128
|
||
# 透明度 (0.0-1.0)
|
||
bytedesk.watermark.opacity=0.5
|
||
# 边距
|
||
bytedesk.watermark.margin=20
|
||
# 是否只对图片文件添加水印
|
||
bytedesk.watermark.imageOnly=true
|
||
# 最小图片尺寸(像素),小于此尺寸的图片不添加水印
|
||
bytedesk.watermark.minImageSize=100
|
||
# 最大图片尺寸(像素),大于此尺寸的图片不添加水印
|
||
bytedesk.watermark.maxImageSize=5000
|
||
|
||
# ===============================
|
||
# = oauth
|
||
# github:https://github.com/settings/applications/new
|
||
# ===============================
|
||
bytedesk.oauth.github.enabled=true
|
||
bytedesk.oauth.github.client-id=clientid
|
||
bytedesk.oauth.github.client-secret=clientid
|
||
# GitHub 完成授权后跳转到前端回调页的地址
|
||
bytedesk.oauth.github.redirect-uri=
|
||
|
||
# Google OAuth 配置
|
||
bytedesk.oauth.google.enabled=true
|
||
bytedesk.oauth.google.client-id=
|
||
bytedesk.oauth.google.client-secret=
|
||
bytedesk.oauth.google.redirect-uri=
|
||
|
||
# WeChat OAuth 配置(开放平台/公众号网页授权)
|
||
bytedesk.oauth.wechat.enabled=true
|
||
bytedesk.oauth.wechat.app-id=
|
||
bytedesk.oauth.wechat.app-secret=
|
||
bytedesk.oauth.wechat.redirect-uri=
|
||
|
||
# Facebook OAuth 配置
|
||
bytedesk.oauth.facebook.enabled=true
|
||
bytedesk.oauth.facebook.client-id=
|
||
bytedesk.oauth.facebook.client-secret=
|
||
bytedesk.oauth.facebook.redirect-uri=
|
||
|
||
# DingTalk OAuth 配置
|
||
bytedesk.oauth.dingtalk.enabled=true
|
||
bytedesk.oauth.dingtalk.app-id=
|
||
bytedesk.oauth.dingtalk.app-secret=
|
||
bytedesk.oauth.dingtalk.redirect-uri=
|
||
|
||
# DouYin OAuth 配置
|
||
bytedesk.oauth.douyin.enabled=true
|
||
bytedesk.oauth.douyin.client-key=
|
||
bytedesk.oauth.douyin.client-secret=
|
||
bytedesk.oauth.douyin.redirect-uri=
|
||
|
||
# Feishu OAuth 配置
|
||
bytedesk.oauth.feishu.enabled=true
|
||
bytedesk.oauth.feishu.app-id=
|
||
bytedesk.oauth.feishu.app-secret=
|
||
bytedesk.oauth.feishu.redirect-uri=
|
||
|
||
# LDAP 登录配置(Bytedesk 自有 LDAP 登录,与 Spring LDAP 基础配置配合使用)
|
||
bytedesk.oauth.ldap.enabled=false
|
||
# 登录时若无邮箱可按此域名拼接(例如: username@yourdomain.com)
|
||
bytedesk.oauth.ldap.default-email-domain=
|
||
|
||
# CAS 单点登录配置
|
||
bytedesk.oauth.cas.enabled=false
|
||
# CAS 服务器地址,例如:https://cas.example.com
|
||
bytedesk.oauth.cas.server-url=
|
||
# 登录路径,默认 /login
|
||
bytedesk.oauth.cas.login-path=/login
|
||
# 校验路径,建议使用 p3 接口,默认 /p3/serviceValidate
|
||
bytedesk.oauth.cas.validate-path=/p3/serviceValidate
|
||
# 当前系统在 CAS 注册的回调地址(service),用于校验 ticket
|
||
bytedesk.oauth.cas.service-redirect-uri=
|
||
# 默认邮箱域(当 CAS 返回无邮箱时用于拼接)
|
||
bytedesk.oauth.cas.default-email-domain=
|
||
|
||
# OIDC 标准登录配置(基于发现文档)
|
||
bytedesk.oauth.oidc.enabled=false
|
||
# Issuer 地址,例如:https://login.microsoftonline.com/{tenant}/v2.0
|
||
bytedesk.oauth.oidc.issuer=
|
||
bytedesk.oauth.oidc.client-id=
|
||
bytedesk.oauth.oidc.client-secret=
|
||
bytedesk.oauth.oidc.redirect-uri=
|
||
|
||
# OpenID(通用 OAuth/OpenID 风格,自配置端点)
|
||
bytedesk.oauth.openid.enabled=false
|
||
bytedesk.oauth.openid.authorization-endpoint=
|
||
bytedesk.oauth.openid.token-endpoint=
|
||
bytedesk.oauth.openid.user-info-endpoint=
|
||
bytedesk.oauth.openid.client-id=
|
||
bytedesk.oauth.openid.client-secret=
|
||
bytedesk.oauth.openid.redirect-uri=
|
||
# 用户名字段,默认 email,可配置为 sub/username 等
|
||
bytedesk.oauth.openid.username-field=email
|
||
|
||
|
||
# ===============================
|
||
# LDAP Configuration
|
||
# ===============================
|
||
# # 是否启用LDAP
|
||
# spring.ldap.enabled=false
|
||
# # LDAP 服务器地址
|
||
# spring.ldap.urls=ldap://127.0.0.1:389
|
||
# # LDAP 基础目录
|
||
# spring.ldap.base=dc=example,dc=com
|
||
# # LDAP 管理员用户名(完整DN)
|
||
# spring.ldap.username=cn=admin,dc=example,dc=com
|
||
# # LDAP 管理员密码
|
||
# spring.ldap.password=admin
|
||
# # LDAP 是否只读
|
||
# spring.ldap.anonymous-read-only=false
|
||
# # LDAP 是否启用匿名访问
|
||
# spring.ldap.anonymous-enabled=false
|
||
|
||
# ===============================
|
||
# SSO Configuration
|
||
# ===============================
|
||
# 是否启用SSO
|
||
# spring.security.oauth2.client.enabled=false
|
||
|
||
|
||
# ===============================
|
||
#=logging
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.core
|
||
# 五种level:TRACE、DEBUG、INFO、WARN和ERROR
|
||
# ===============================
|
||
# 会打印sqlLog
|
||
# debug=true
|
||
# trace=true
|
||
# 隐藏其他常见的DEBUG日志
|
||
# logging.level.org.springframework=INFO
|
||
# logging.level.org.hibernate=INFO
|
||
# logging.level.org.apache=INFO
|
||
# 设置自定义包的日志级别
|
||
# logging.level.com.bytedesk=INFO
|
||
logging.level.web=DEBUG
|
||
logging.level.org.springframework.security.web.FilterChainProxy=WARN
|
||
logging.level.org.springframework.web.socket=INFO
|
||
# 设置 FreeMarker 的日志级别为 INFO
|
||
logging.level.org.springframework.web.servlet.view.freemarker=WARN
|
||
logging.level.org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport=WARN
|
||
#
|
||
logging.level.org.hibernate.orm.connections.pooling=WARN
|
||
# 关闭StringDecoder相关的日志
|
||
logging.level.org.springframework.core.codec.StringDecoder=WARN
|
||
# 关闭reactor-http相关日志
|
||
logging.level.reactor.netty.http=WARN
|
||
logging.level.org.springframework.web.client.DefaultRestClient=WARN
|
||
# 抑制Spring Security AuthenticationProvider/UserDetailsService配置警告
|
||
logging.level.org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer=ERROR
|
||
# 完全禁用某些包的日志
|
||
# logging.level.org.springframework.web.servlet.view.freemarker=OFF
|
||
# logging.level.org.springframework.messaging=WARN
|
||
# logging.level.org.springframework.web=INFO
|
||
# logging.level.org.springframework.security=INFO
|
||
# logging.level.root=DEBUG
|
||
logging.level.com.bytedesk.ai=DEBUG
|
||
logging.level.com.bytedesk.core=DEBUG
|
||
logging.level.com.bytedesk.kbase=DEBUG
|
||
logging.level.com.bytedesk.service=DEBUG
|
||
logging.level.com.bytedesk.social=DEBUG
|
||
logging.level.com.bytedesk.wechat=DEBUG
|
||
logging.level.com.bytedesk.shop=DEBUG
|
||
logging.level.com.bytedesk.team=DEBUG
|
||
logging.level.com.bytedesk.ticket=DEBUG
|
||
logging.level.com.bytedesk.starter=DEBUG
|
||
#
|
||
logging.level.org.springframework.web.client.DefaultRestClient=WARN
|
||
logging.file.name=logs/bytedeskim.log
|
||
logging.file.max-size=10MB
|
||
logging.file.max-history=5
|
||
# 2024-09-19T13:07:39.031+08:00 INFO 4043 --- [bytedesk] [ main] liquibase.util : UPDATE SUMMARY
|
||
# logging.pattern.console=[TRACEID:%X{traceId}] %clr(%5p) %d{HH:mm:ss.SSS} %class{-1}: %msg%xEx%n
|
||
logging.pattern.console=[TRACEID:%X{traceId}] %clr(%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
|
||
logging.pattern.file=[TRACEID:%X{traceId}]-%clr(%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}){faint}-%clr(${LOG_LEVEL_PATTERN:%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
|
||
|
||
# ===============================
|
||
#= alibaba druid
|
||
# http://127.0.0.1:9003/druid
|
||
# https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8
|
||
# ===============================
|
||
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
|
||
# druid properties
|
||
spring.datasource.druid.initial-size=10
|
||
spring.datasource.druid.min-idle=10
|
||
spring.datasource.druid.max-active=100
|
||
spring.datasource.druid.max-wait=60000
|
||
spring.datasource.druid.time-between-eviction-runs-millis=60000
|
||
spring.datasource.druid.min-evictable-idle-time-millis=300000
|
||
spring.datasource.druid.validation-query=SELECT 'x'
|
||
spring.datasource.druid.test-while-idle=true
|
||
spring.datasource.druid.test-on-borrow=false
|
||
spring.datasource.druid.test-on-return=false
|
||
spring.datasource.druid.stat-view-servlet.enabled=true
|
||
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
|
||
spring.datasource.druid.stat-view-servlet.login-username=admin@email.com
|
||
spring.datasource.druid.stat-view-servlet.login-password=admin
|
||
# spring.datasource.druid.stat-view-servlet.reset-enable=false
|
||
# spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
|
||
# spring.datasource.druid.stat-view-servlet.deny=
|
||
spring.datasource.druid.filters=config,stat
|
||
spring.datasource.druid.filter.stat.log-slow-sql=true
|
||
spring.datasource.druid.filter.stat.slow-sql-millis=1
|
||
# spring.datasource.druid.web-stat-filter.enabled=true
|
||
# spring.datasource.druid.web-stat-filter.url-pattern=/*
|
||
# spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
|
||
|
||
# ===============================
|
||
#= h2
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data
|
||
# ===============================
|
||
# http://127.0.0.1:9003/h2-console
|
||
# spring.h2.console.enabled=true
|
||
# spring.h2.console.path=/h2-console
|
||
# spring.h2.console.settings.trace=false
|
||
# spring.h2.console.settings.web-allow-others=false
|
||
# #
|
||
# # spring.datasource.url=jdbc:h2:mem:testdb
|
||
# spring.datasource.url=jdbc:h2:file:./h2db/weiyuim
|
||
# spring.datasource.driverClassName=org.h2.Driver
|
||
# spring.datasource.username=sa
|
||
# spring.datasource.password=sa
|
||
# spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
|
||
# spring.jpa.defer-datasource-initialization=true
|
||
|
||
# ===============================
|
||
#= mysql
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data
|
||
# ===============================
|
||
# 默认使用:3306端口,为防止本地冲突,docker中为:13306
|
||
spring.datasource.url=jdbc:mysql://127.0.0.1:13306/bytedesk?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
|
||
# spring.datasource.url=jdbc:mysql://127.0.0.1:3306/bytedesk?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
|
||
spring.datasource.username=root
|
||
spring.datasource.password=r8FqfdbWUaN3
|
||
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
||
spring.jpa.database=mysql
|
||
# spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect # Hibernate会自动检测方言,无需显式设置
|
||
spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||
|
||
# ===============================
|
||
#= postgresql
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data
|
||
# 因本地占用,将5432改为5433
|
||
# DATABASE_URL="postgresql://postgres:r8FqfdbWUaN3@localhost:5433/bytedesk"
|
||
# ===============================
|
||
# spring.datasource.url=jdbc:postgresql://127.0.0.1:5433/bytedesk
|
||
# spring.datasource.username=postgres
|
||
# spring.datasource.password=r8FqfdbWUaN3
|
||
# spring.datasource.driver-class-name=org.postgresql.Driver
|
||
# spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
|
||
# spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
|
||
|
||
# ===============================
|
||
#=spring-boot-starter-data-jpa
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data
|
||
# ===============================
|
||
|
||
# 生产环境关闭update模式,使用validate
|
||
# update/none/validate/create/create-drop
|
||
spring.jpa.hibernate.ddl-auto=update
|
||
spring.jpa.show-sql=false
|
||
spring.jpa.properties.hibernate.format_sql=false
|
||
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
|
||
spring.jpa.open-in-view=false
|
||
# 设置 Hibernate 时区为 Asia/Shanghai
|
||
spring.jpa.properties.hibernate.jdbc.time_zone=Asia/Shanghai
|
||
# https://www.cnblogs.com/suizhikuo/p/16997225.html
|
||
# spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
|
||
spring.jackson.date-format=yyyy-MM-dd'T'HH:mm:ss.SSSX
|
||
spring.jackson.time-zone=GMT+8
|
||
|
||
|
||
|
||
# ===============================
|
||
#=spring-boot-starter-data-rest
|
||
# http://127.0.0.1:9003/rest/api/profile
|
||
# https://docs.spring.io/spring-data/rest/reference/index.html
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.data.spring.data.rest.base-path
|
||
# ===============================
|
||
spring.data.rest.base-path=/api
|
||
# spring.data.rest.default-page-size=20
|
||
# spring.data.rest.max-page-size=
|
||
# spring.data.rest.page-param-name=page
|
||
# spring.data.rest.limit-param-name=size
|
||
# spring.data.rest.sort-param-name=sort
|
||
spring.data.rest.return-body-on-create=true
|
||
spring.data.rest.return-body-on-update=true
|
||
# spring.data.rest.sort-param-name=
|
||
|
||
# ===============================
|
||
#=spring-boot-starter-actuator
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.actuator
|
||
# https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/#prometheus
|
||
# https://docs.micrometer.io/micrometer/reference/implementations/prometheus.html
|
||
# http://127.0.0.1:9003/actuator
|
||
# 健康检查:http://127.0.0.1:9003/actuator/health
|
||
# 所有指标:http://127.0.0.1:9003/actuator/metrics
|
||
# 特定指标:http://127.0.0.1:9003/actuator/metrics/{metric.name}
|
||
# Prometheus 格式:http://127.0.0.1:9003/actuator/prometheus
|
||
# http://127.0.0.1:9003/actuator/prometheus # Prometheus 指标接口
|
||
# Prometheus UI
|
||
# http://127.0.0.1:19090 # Prometheus 管理界面
|
||
# Grafana
|
||
# http://127.0.0.1:13000 # Grafana 管理界面
|
||
# - 用户名:admin
|
||
# - 密码:admin
|
||
# ===============================
|
||
# 关闭所有actuator端点
|
||
management.endpoints.enabled-by-default=false
|
||
management.endpoints.web.base-path=/actuator
|
||
management.endpoints.web.exposure.include=health,metrics,prometheus
|
||
management.endpoint.health.show-details=always
|
||
management.endpoint.metrics.enabled=true
|
||
management.endpoint.prometheus.enabled=true
|
||
|
||
# Metrics configuration
|
||
management.metrics.tags.application=bytedesk
|
||
management.metrics.distribution.percentiles-histogram.http.server.requests=true
|
||
management.metrics.distribution.sla.http.server.requests=100ms,400ms,500ms
|
||
|
||
# Prometheus configuration
|
||
management.prometheus.metrics.export.enabled=true
|
||
|
||
# ===============================
|
||
# = Zipkin Tracing Configuration
|
||
# ===============================
|
||
# 关闭 Zipkin 追踪
|
||
management.tracing.enabled=false
|
||
management.zipkin.tracing.enabled=false
|
||
# management.zipkin.tracing.endpoint=http://127.0.0.1:9411/api/v2/spans
|
||
# 或者设置采样概率为0来禁用追踪
|
||
management.tracing.sampling.probability=0.0
|
||
|
||
|
||
# Prometheus Admin Credentials
|
||
# spring.docker.compose.service.bytedesk-prometheus.environment.PROMETHEUS_ADMIN_USER=admin
|
||
# spring.docker.compose.service.bytedesk-prometheus.environment.PROMETHEUS_ADMIN_PASSWORD=admin
|
||
|
||
# Grafana Admin Credentials
|
||
# spring.docker.compose.service.bytedesk-grafana.environment.GF_SECURITY_ADMIN_USER=admin
|
||
# spring.docker.compose.service.bytedesk-grafana.environment.GF_SECURITY_ADMIN_PASSWORD=admin
|
||
# spring.docker.compose.service.bytedesk-grafana.environment.GF_AUTH_ANONYMOUS_ENABLED=false
|
||
|
||
#
|
||
# ===============================
|
||
#=spring-boot-starter-admin-client
|
||
# https://github.com/codecentric/spring-boot-admin?tab=readme-ov-file
|
||
# https://docs.spring-boot-admin.com/current/getting-started.html
|
||
# ===============================
|
||
spring.boot.admin.client.url=http://127.0.0.1:9003
|
||
# spring.boot.admin.ui.public-url=http://127.0.0.1:9003/actuator/admin
|
||
|
||
# ===============================
|
||
#=springdoc
|
||
# https://springdoc.org/#properties
|
||
# http://127.0.0.1:9003/swagger-ui/index.html
|
||
# http://127.0.0.1:9003/v3/api-docs
|
||
# ===============================
|
||
springdoc.show-actuator=false
|
||
# swagger-ui
|
||
# http://127.0.0.1:9003/swagger-ui/index.html
|
||
springdoc.swagger-ui.enabled=true
|
||
springdoc.swagger-ui.path=/index.html
|
||
# api-docs
|
||
springdoc.api-docs.enabled=true
|
||
springdoc.api-docs.path=/v3/api-docs
|
||
# knife4j
|
||
# http://127.0.0.1:9003/doc.html
|
||
knife4j.enabled=true
|
||
knife4j.setting.language=zh_cn
|
||
|
||
# ===============================
|
||
#=spring-boot-devtools
|
||
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.devtools
|
||
# ===============================
|
||
spring.devtools.restart.poll-interval=2s
|
||
spring.devtools.restart.quiet-period=1s
|
||
|
||
#
|
||
# ===============================
|
||
# = Apache ActiveMQ Artemis logger levels
|
||
# ===============================
|
||
# https://activemq.apache.org/components/artemis/documentation/latest/logging.html
|
||
# https://codeaches.com/spring-boot/embedded-activemq-artemis-jms-broker
|
||
logging.level.org.apache.activemq.artemis.core.server=WARN
|
||
logging.level.org.apache.activemq.artemis.utils=WARN
|
||
logging.level.org.apache.activemq.artemis.jms=WARN
|
||
logging.level.org.apache.activemq.audit.base=WARN
|
||
logging.level.org.apache.activemq.audit.message=WARN
|
||
|
||
# ===============================
|
||
# = spring-boot-starter-artemis
|
||
# = jms artemis
|
||
# https://spring.io/guides/gs/messaging-jms
|
||
# https://docs.spring.io/spring-boot/reference/messaging/jms.html
|
||
# https://activemq.apache.org/components/artemis/documentation/latest/index.html
|
||
# spring.jms.pub-sub-domain=true
|
||
# ===============================
|
||
spring.artemis.mode=embedded
|
||
# spring.artemis.mode=native
|
||
# spring.artemis.broker-url=tcp://127.0.0.1:61617
|
||
# spring.artemis.user=admin
|
||
# spring.artemis.password=admin
|
||
|
||
# ===============================
|
||
# spring.artemis.broker-url=tcp://154.89.155.120:61617
|
||
# spring.artemis.user=admin
|
||
# spring.artemis.password=admin
|
||
|
||
# ===============================
|
||
# = LDAP 健康检查配置
|
||
# ===============================
|
||
# 禁用LDAP健康检查,避免在没有LDAP服务时导致整体健康状态为DOWN
|
||
management.health.ldap.enabled=false
|
||
|
||
# ===============================
|
||
# = spring mail
|
||
# https://springdoc.cn/spring-boot/application-properties.html#appendix.application-properties.mail
|
||
# ===============================
|
||
spring.mail.host=smtp.qq.com
|
||
spring.mail.port=465
|
||
# spring.mail.username=
|
||
# spring.mail.password=
|
||
spring.mail.data-encoding=UTF-8
|
||
spring.mail.protocol=smtps
|
||
spring.mail.properties.mail.smtp.connectiontimeout=5000
|
||
spring.mail.properties.mail.smtp.timeout=3000
|
||
spring.mail.properties.mail.smtp.auth=true
|
||
spring.mail.properties.mail.smtp.starttls.enable=true
|
||
spring.mail.properties.mail.smtp.starttls.required=true
|
||
|
||
#
|
||
# ===============================
|
||
# = Quartz
|
||
# https://github.com/quartz-scheduler/quartz
|
||
# https://docs.spring.io/spring-boot/reference/io/quartz.html
|
||
# https://medium.com/@ChamithKodikara/spring-boot-2-quartz-2-scheduler-integration-a8eaaf850805
|
||
# SpringBoot官方说明:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-quartz.html
|
||
# Quartz官方文档:https://www.quartz-scheduler.org/documentation/2.3.1-SNAPSHOT/tutorials/index.html
|
||
# ===============================
|
||
spring.quartz.job-store-type=jdbc
|
||
# # 3种模式: ALWAYS、EMBEDDED、NEVER
|
||
# 首次启动时创建表,但每次都会清空数据,初始化之后,需要修改为never
|
||
spring.quartz.jdbc.initialize-schema=always
|
||
# spring.quartz.jdbc.initialize-schema=never
|
||
spring.quartz.wait-for-jobs-to-complete-on-shutdown=true
|
||
#
|
||
spring.quartz.properties.org.quartz.scheduler.instanceName=BytedeskScheduler
|
||
spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO
|
||
#spring.quartz.properties.org.quartz.scheduler.instanceIdGenerator.class=io.xiaper.schedule.util.CustomQuartzInstanceIdGenerator
|
||
#
|
||
spring.quartz.properties.org.quartz.jobStore.isClustered=true
|
||
spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_
|
||
# spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
|
||
spring.quartz.properties.org.quartz.jobStore.class=org.springframework.scheduling.quartz.LocalDataSourceJobStore
|
||
spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000
|
||
spring.quartz.properties.org.quartz.jobStore.useProperties=false
|
||
#
|
||
spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
|
||
spring.quartz.properties.org.quartz.threadPool.threadCount=5
|
||
spring.quartz.properties.org.quartz.threadPool.threadPriority=5
|
||
spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
|
||
|
||
#
|
||
# ===============================
|
||
# = multipart file uploads
|
||
# ===============================
|
||
spring.servlet.multipart.enabled=true
|
||
# Write files to disk if the file size is more than 2KB.
|
||
spring.servlet.multipart.file-size-threshold=2KB
|
||
# The intermediate disk location where the uploaded files are written
|
||
# jetty里面开启这个配置会报错
|
||
# spring.servlet.multipart.location=/tmp
|
||
# Maximum file size that can be uploaded
|
||
spring.servlet.multipart.max-file-size=100MB
|
||
# Maximum allowed multipart request size
|
||
spring.servlet.multipart.max-request-size=100MB
|
||
|
||
# ===============================
|
||
# = spring-session-data-redis
|
||
# https://docs.spring.io/spring-session/reference/guides/boot-redis.html
|
||
# ===============================
|
||
# server.servlet.session.cookie.name=MY_SESSION_COOKIE
|
||
# server.servlet.session.cookie.max-age=3600
|
||
# server.servlet.session.cookie.domain
|
||
# server.servlet.session.cookie.path
|
||
# not working?
|
||
# spring.session.redis.namespace=bytedeskim
|
||
|
||
#
|
||
# ===============================
|
||
# = ai
|
||
# ===============================
|
||
# spring.mvc.async.request-timeout=10000
|
||
logging.level.org.springframework.ai.chat.client.advisor=DEBUG
|
||
|
||
# 启用Spring AI的观察功能
|
||
spring.ai.observation.enabled=true
|
||
spring.ai.retry.observation.enabled=true
|
||
|
||
# 文本对话配置
|
||
# https://www.weiyuai.cn/docs/zh-CN/docs/provider/model_text
|
||
# spring.ai.model.chat=none
|
||
# spring.ai.model.chat=ollama
|
||
spring.ai.model.chat=zhipuai
|
||
# spring.ai.model.chat=dashscope
|
||
|
||
# 向量模型
|
||
# https://www.weiyuai.cn/docs/zh-CN/docs/provider/model_embedding
|
||
# spring.ai.model.embedding=none
|
||
# spring.ai.model.embedding=ollama
|
||
spring.ai.model.embedding=zhipuai
|
||
# spring.ai.model.embedding=dashscope
|
||
|
||
# 视觉模型
|
||
# https://www.weiyuai.cn/docs/zh-CN/docs/provider/model_vision
|
||
# spring.ai.model.vision=none
|
||
# spring.ai.model.vision=ollama
|
||
spring.ai.model.vision=zhipuai
|
||
# spring.ai.model.vision=dashscope
|
||
#
|
||
spring.ai.model.image=none
|
||
spring.ai.model.moderation=none
|
||
|
||
# 语音模型
|
||
# spring.ai.model.audio=none
|
||
# spring.ai.model.audio=ollama
|
||
spring.ai.model.audio=zhipuai
|
||
# spring.ai.model.audio=dashscope
|
||
#
|
||
spring.ai.model.audio.speech=none
|
||
spring.ai.model.audio.transcription=none
|
||
|
||
# 重排序模型
|
||
# spring.ai.model.rerank=none
|
||
# spring.ai.model.rerank=ollama
|
||
spring.ai.model.rerank=zhipuai
|
||
# spring.ai.model.rerank=dashscope
|
||
|
||
# 多模态模型
|
||
# spring.ai.model.multimodal=none
|
||
# spring.ai.model.multimodal=ollama
|
||
spring.ai.model.multimodal=zhipuai
|
||
# spring.ai.model.multimodal=dashscope
|
||
|
||
# ollama:
|
||
# https://docs.spring.io/spring-ai/reference/api/chat/ollama-chat.html
|
||
# spring.ai.ollama.init.pull-model-strategy=always
|
||
# 默认:11434,为防止本地冲突,如果是docker,需要修改为21434
|
||
# spring.ai.ollama.base-url=http://127.0.0.1:11434
|
||
spring.ai.ollama.base-url=http://127.0.0.1:21434
|
||
spring.ai.ollama.chat.enabled=true
|
||
# spring.ai.ollama.chat.options.model=deepseek-r1:latest
|
||
spring.ai.ollama.chat.options.model=qwen3:0.6b
|
||
spring.ai.ollama.chat.options.temperature=0.7
|
||
# spring.ai.ollama.chat.options.numa=false
|
||
# https://docs.spring.io/spring-ai/reference/api/embeddings/ollama-embeddings.html
|
||
spring.ai.ollama.embedding.enabled=true
|
||
# https://github.com/ollama/ollama?tab=readme-ov-file#model-library
|
||
spring.ai.ollama.embedding.options.model=bge-m3:latest
|
||
# spring.ai.ollama.embedding.options.numa=false
|
||
# spring.ai.ollama.init.timeout=60s
|
||
# spring.ai.ollama.init.max-retries=2
|
||
# https://huggingface.co/BAAI/bge-reranker-v2-m3
|
||
spring.ai.ollama.embedding.options.model.rerank=linux6200/bge-reranker-v2-m3:latest
|
||
|
||
# zhipuai
|
||
# https://open.bigmodel.cn/overview
|
||
# https://docs.spring.io/spring-ai/reference/api/embeddings/zhipuai-embeddings.html
|
||
# https://docs.spring.io/spring-ai/reference/api/chat/zhipuai-chat.html
|
||
# spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas
|
||
# 申请智谱AI API Key:https://www.bigmodel.cn/usercenter/proj-mgmt/apikeys
|
||
# spring.ai.zhipuai.chat.base-url=URL_ADDRESS
|
||
spring.ai.zhipuai.api-key='sk-xxx'
|
||
spring.ai.zhipuai.chat.enabled=true
|
||
# 免费模型:https://open.bigmodel.cn/dev/api#glm-4
|
||
spring.ai.zhipuai.chat.options.model=glm-4.5-flash
|
||
spring.ai.zhipuai.chat.options.temperature=0.7
|
||
# https://docs.spring.io/spring-ai/reference/api/embeddings/zhipuai-embeddings.html
|
||
spring.ai.zhipuai.embedding.enabled=true
|
||
# spring.ai.zhipuai.embedding.base-url=https://api.bigmodel.cn
|
||
# spring.ai.zhipuai.embedding.api-key=sk-xxx
|
||
# 1024维度的模型
|
||
spring.ai.zhipuai.embedding.options.model=embedding-2
|
||
# 2048维度的模型
|
||
# spring.ai.zhipuai.embedding.options.model=embedding-3
|
||
#
|
||
|
||
# spring ai alibaba
|
||
# https://java2ai.com/docs/dev/get-started/
|
||
# 阿里云百炼大模型获取api key:
|
||
# https://bailian.console.aliyun.com/?apiKey=1#/api-key
|
||
# 阿里云百炼大模型模型列表:
|
||
# https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.11c67980m5X2VR#/model-market
|
||
spring.ai.dashscope.enabled=false
|
||
# spring.ai.dashscope.base-url=https://dashscope.aliyuncs.com
|
||
# spring.ai.dashscope.api-key=sk-xxx
|
||
# spring.ai.dashscope.chat.enabled=false
|
||
# spring.ai.dashscope.chat.options.model=qwen-max
|
||
# spring.ai.dashscope.chat.options.temperature=0.7
|
||
# spring.ai.dashscope.chat.options.topP=3
|
||
# spring.ai.dashscope.audio.transcription.enabled=false
|
||
# spring.ai.dashscope.image.enabled=false
|
||
# spring.ai.dashscope.embedding.enabled=false
|
||
# spring.ai.dashscope.audio.synthesis.enabled=false
|
||
# spring.ai.nacos.prompt.template.enabled=false
|
||
|
||
# ===============================
|
||
# = 向量数据库
|
||
# ===============================
|
||
# https://github.com/spring-projects/spring-ai/blob/main/spring-ai-vector-store/src/main/java/org/springframework/ai/vectorstore/SpringAIVectorStoreTypes.java
|
||
# spring.ai.vectorstore.type=none
|
||
# spring.ai.vectorstore.type=redis
|
||
# spring.ai.vectorstore.type=chroma
|
||
spring.ai.vectorstore.type=elasticsearch
|
||
# spring.ai.vectorstore.type=weaviate
|
||
# spring.ai.vectorstore.type=milvus
|
||
# spring.ai.vectorstore.type=pgvector
|
||
|
||
# elasticsearch
|
||
# 浏览器可视化插件管理 es-client: https://gitee.com/q2316367743/es-client
|
||
# 配置参数 https://docs.spring.io/spring-ai/reference/api/vectordbs/elasticsearch.html#elasticsearchvector-properties
|
||
spring.elasticsearch.uris=http://127.0.0.1:19200
|
||
spring.elasticsearch.username=elastic
|
||
spring.elasticsearch.password=bytedesk123
|
||
#
|
||
spring.ai.vectorstore.elasticsearch.enabled=true
|
||
spring.ai.vectorstore.elasticsearch.initialize-schema=true
|
||
spring.ai.vectorstore.elasticsearch.index-name=bytedesk_vs_index
|
||
spring.ai.vectorstore.elasticsearch.dimensions=1024
|
||
# cosine/l2_norm/dot_product
|
||
spring.ai.vectorstore.elasticsearch.similarity=cosine
|
||
|
||
# chroma
|
||
# spring.ai.vectorstore.chroma.enabled=false
|
||
# spring.ai.vectorstore.chroma.uri=http://127.0.0.1:18000
|
||
# spring.ai.vectorstore.chroma.collection-name=bytedesk_vs_collection
|
||
# spring.ai.vectorstore.chroma.distance-function=COSINE
|
||
# spring.ai.vectorstore.chroma.embedding-dimension=1024
|
||
|
||
# weaviate
|
||
# spring.ai.vectorstore.weaviate.enabled=false
|
||
# spring.ai.vectorstore.weaviate.host=127.0.0.1
|
||
# spring.ai.vectorstore.weaviate.port=18080
|
||
# spring.ai.vectorstore.weaviate.scheme=http
|
||
# spring.ai.vectorstore.weaviate.index-name=BytedeskVectors
|
||
# spring.ai.vectorstore.weaviate.text-field-name=content
|
||
|
||
# milvus
|
||
# spring.ai.vectorstore.milvus.enabled=false
|
||
# spring.ai.vectorstore.milvus.host=127.0.0.1
|
||
# spring.ai.vectorstore.milvus.port=19530
|
||
# spring.ai.vectorstore.milvus.collection-name=bytedesk_vectors
|
||
# spring.ai.vectorstore.milvus.vector-field=embedding
|
||
# spring.ai.vectorstore.milvus.text-field=content
|
||
# spring.ai.vectorstore.milvus.dimensions=1024
|
||
|
||
|
||
# ===============================
|
||
# = spring ai mcp
|
||
# https://contribute.liquibase.com/extensions-channels/directory/integration-docs/springboot/configuration/
|
||
# ===============================
|
||
# https://docs.spring.io/spring-ai/reference/api/mcp/mcp-client-boot-starter-docs.html
|
||
spring.ai.mcp.client.enabled=false
|
||
# logging.level.org.springframework.ai.mcp=WARN
|
||
# logging.level.org.springframework.ai.mcp.client.transport.StdioClientTransport=WARN
|
||
# logging.level.org.springframework.ai.mcp.samples.brave=INFO
|
||
# logging.level.io.modelcontextprotocol.client=WARN
|
||
# logging.level.io.modelcontextprotocol.spec=WARN
|
||
|
||
# mcp servers
|
||
# https://github.com/modelcontextprotocol/servers
|
||
# https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html
|
||
# https://github.com/spring-projects/spring-ai/blob/b29076f/auto-configurations/spring-ai-mcp-server/src/main/java/org/springframework/ai/autoconfigure/mcp/server/McpServerProperties.java
|
||
spring.ai.mcp.server.enable=false
|
||
# spring.ai.mcp.server.name=bytedesk-starter
|
||
# spring.ai.mcp.server.version=0.0.1
|
||
# SYNC or ASYNC
|
||
spring.ai.mcp.server.type=SYNC
|
||
# Transport configuration
|
||
spring.ai.mcp.server.stdio=false
|
||
# spring.ai.mcp.server.sse-message-endpoint=/mcp/message
|
||
# spring.ai.mcp.server.resource-change-notification=true
|
||
# spring.ai.mcp.server.tool-change-notification=true
|
||
# spring.ai.mcp.server.prompt-change-notification=true
|
||
|
||
|
||
# ===============================
|
||
# = Spring Batch Configuration
|
||
# ===============================
|
||
# 禁止启动时自动执行作业
|
||
spring.batch.job.enabled=false
|
||
# 始终初始化批处理表,生产环境建议设置为never
|
||
spring.batch.jdbc.initialize-schema=never
|
||
# 表前缀,默认是BATCH_
|
||
# spring.batch.jdbc.schema=classpath:org/springframework/batch/core/schema-mysql.sql
|
||
# spring.batch.jdbc.table-prefix=BD_BATCH_
|
||
|
||
|
||
|
||
#
|
||
# ===============================
|
||
# = liquibase
|
||
# https://contribute.liquibase.com/extensions-channels/directory/integration-docs/springboot/configuration/
|
||
# ===============================
|
||
spring.liquibase.enabled=true
|
||
spring.liquibase.change-log=classpath:db/changelog/master.xml
|
||
|
||
|
||
# ===============================
|
||
# = flowable
|
||
# https://www.flowable.com/open-source/docs/bpmn/ch05a-Spring-Boot
|
||
# ===============================
|
||
# 禁止自动部署流程文件
|
||
# flowable.check-process-definitions=false
|
||
# flowable.deployment-enabled=false
|
||
|
||
# 禁止CMMN自动部署
|
||
# flowable.cmmn.enabled=false
|
||
# flowable.cmmn.deployment-enabled=false
|
||
|
||
# 禁止DMN自动部署
|
||
# flowable.dmn.enabled=false
|
||
# flowable.dmn.deployment-enabled=false
|
||
|
||
# 禁止Form自动部署
|
||
# flowable.form.enabled=false
|
||
# flowable.form.deployment-enabled=false
|
||
|
||
# 禁止Content自动部署
|
||
# flowable.content.enabled=false
|
||
# flowable.content.deployment-enabled=false
|
||
|
||
# 禁止Event Registry自动部署
|
||
# flowable.eventregistry.enabled=false
|
||
# flowable.eventregistry.deployment-enabled=false
|
||
|
||
# ===============================
|
||
# = Flowable 日志配置
|
||
# ===============================
|
||
logging.level.org.flowable=WARN
|
||
logging.level.org.flowable.app=WARN
|
||
logging.level.org.flowable.engine=WARN
|
||
logging.level.org.flowable.cmmn=WARN
|
||
logging.level.org.flowable.dmn=WARN
|
||
logging.level.org.flowable.idm=WARN
|
||
logging.level.org.flowable.eventregistry=WARN
|
||
logging.level.org.flowable.common=WARN
|
||
|
||
# ===============================
|
||
# = 百度翻译
|
||
# https://fanyi-api.baidu.com/doc/21
|
||
# ===============================
|
||
bytedesk.translate.baidu.appid=placeholder
|
||
bytedesk.translate.baidu.key=placeholder
|
||
|
||
# 抖音开放平台
|
||
# https://developer.open-douyin.com/webapp/aw74cmav4symty7z/setting/app-info
|
||
# douyin.client.key=placeholder
|
||
# douyin.client.secret=placeholder
|
||
#
|
||
# ===============================
|
||
# = 阿里云OSS访问密钥 + 短信服务
|
||
# ===============================
|
||
aliyun.region.id=cn-hangzhou
|
||
# 获取阿里云密钥 https://ram.console.aliyun.com/profile/access-keys
|
||
aliyun.access.key.id=placeholder
|
||
aliyun.access.key.secret=placeholder
|
||
|
||
# 阿里云OSS服务相关配置
|
||
# OSS的endpoint,这里是华南地区(也就是深圳)
|
||
aliyun.oss.endpoint=https://oss-cn-shenzhen.aliyuncs.com
|
||
aliyun.oss.base.url=https://bytedesk.oss-cn-shenzhen.aliyuncs.com
|
||
# 这是创建的bucket
|
||
aliyun.oss.bucket.name=placeholder
|
||
# 这里已经把自己的域名映射到bucket地址了。需要设置域名绑定,设置域名CNAME(暂不使用)
|
||
aliyun.oss.img.domain=placeholder
|
||
|
||
# 阿里云短信服务
|
||
# 短信签名 https://dysms.console.aliyun.com/domestic/text/sign
|
||
aliyun.sms.signname=微语
|
||
# 短信模板管理 https://dysms.console.aliyun.com/domestic/text/template
|
||
aliyun.sms.templatecode=SMS_xxxxxxxxx
|
||
|
||
#
|
||
# ===============================
|
||
# = 腾讯云COS对象存储访问密钥
|
||
# ===============================
|
||
# 创建bucket并需要在此bucket下创建文件夹:apns/development(二级文件夹), apns/production(二级文件夹), avatars, images, voices, files
|
||
# 储桶所属地域
|
||
tencent.bucket.location=ap-shanghai
|
||
# 存储桶名称
|
||
tencent.bucket.name=
|
||
# 访问域名
|
||
tencent.bucket.domain=
|
||
|
||
#API密钥管理获取
|
||
tencent.appid=
|
||
tencent.secretid=
|
||
tencent.secretkey=
|
||
|
||
# ===============================
|
||
# = 微信支付
|
||
# ===============================
|
||
bytedesk.wechat.pay.enabled=false
|
||
bytedesk.wechat.pay.certpath=''
|
||
bytedesk.wechat.pay.appid=
|
||
bytedesk.wechat.pay.mch_id=
|
||
bytedesk.wechat.pay.key=
|
||
bytedesk.wechat.pay.notify_url=
|
||
|
||
# ===============================
|
||
# = docker compose
|
||
# 可以 cd 到 starter/src/main/resources 目录下,事先启动容器,然后启动项目,或者直接启动项目,项目会自动启动容器(但会等待容器启动完成)
|
||
# 启动容器中依赖:docker compose -p bytedesk -f compose.yaml up -d
|
||
# 停止容器中依赖:docker compose -p bytedesk -f compose.yaml down
|
||
#= 跟模块 spring-boot-docker-compose 配合使用
|
||
# https://spring.io/guides/topicals/spring-boot-docker
|
||
# https://spring.io/blog/2023/06/21/docker-compose-support-in-spring-boot-3-1
|
||
# https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-docker-compose
|
||
# https://hub.docker.com/r/jackning/bytedesk
|
||
# https://springdoc.cn/docker-compose-support-spring-boot/
|
||
# https://docs.spring.io/spring-boot/docs/3.2.0/reference/htmlsingle/#features.docker-compose
|
||
# ===============================
|
||
# true 表示启用 docker compose
|
||
# false 表示禁用 docker compose
|
||
spring.docker.compose.enabled=false
|
||
# 指定 docker compose 文件路径,路径:starter/src/main/resources
|
||
spring.docker.compose.file=classpath:compose.yaml
|
||
# 设置Docker Compose项目名称,相当于命令行中的 -p 参数
|
||
spring.docker.compose.project-name=bytedesk
|