Files
weiyu/deploy/docker/docker-compose-ollama-dameng.yaml
jack ning b843237148 update
2025-04-14 21:45:03 +08:00

333 lines
13 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
# TODO: 修改为达梦数据库
bytedesk-mysql:
image: mysql:latest
container_name: mysql-bytedesk
environment:
MYSQL_DATABASE: bytedesk
MYSQL_ROOT_PASSWORD: r8FqfdbWUaN3
ports:
- "13306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- bytedesk-network
bytedesk-redis:
image: redis/redis-stack-server:latest
container_name: redis-bytedesk
ports:
- "16379:6379"
environment:
- REDIS_ARGS=--requirepass qfRxz3tVT8Nh
volumes:
- redis_data:/data
networks:
- bytedesk-network
ollama:
image: ollama/ollama:latest
container_name: ollama-bytedesk
ports:
- "21434:11434"
volumes:
- ollama_data:/root/.ollama
environment:
- OLLAMA_MODELS=deepseek-r1:1.5b
command: serve
networks:
- bytedesk-network
bytedesk:
# image: bytedesk/bytedesk:latest # hub.docker.com enterprise
# image: bytedesk/bytedesk-ce:latest # hub.docker.com community
image: registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk:latest # aliyun enterprise
# mage: registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk-ce:latest # aliyun community
container_name: bytedesk
depends_on:
- bytedesk-mysql
- bytedesk-redis
- ollama
environment:
SERVER_PORT: 9003
# db config
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-bytedesk:3306/bytedesk?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: r8FqfdbWUaN3
SPRING_JPA_HIBERNATE_DDL_AUTO: update
# redis config
SPRING_DATA_REDIS_HOST: redis-bytedesk
SPRING_DATA_REDIS_PORT: 6379
SPRING_DATA_REDIS_PASSWORD: qfRxz3tVT8Nh
SPRING_DATA_REDIS_DATABASE: 0
# bytedesk config
BYTEDESK_DEBUG: true
# COMMUNITY, // 社区版-免费, 功能受限,人数不限
# ENTERPRISE, // 企业版-200人付费功能不限
# ULTIMATE // 旗舰版-不限人数,付费,功能不限
BYTEDESK_EDITION: enterprise
BYTEDESK_VERSION: 0.7.3
# 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: true
# privacy policy url
BYTEDESK_CUSTOM_PRIVACY_POLICY_URL:
# terms of service url
BYTEDESK_CUSTOM_TERMS_OF_SERVICE_URL:
# enable login username
BYTEDESK_CUSTOM_LOGIN_USERNAME_ENABLE: true
# 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
# show doc url
BYTEDESK_CUSTOM_DOC_URL_SHOW: true
# doc url
BYTEDESK_CUSTOM_DOC_URL: https://www.weiyuai.cn/docs/zh-CN/
# Admin config
# admin email
BYTEDESK_ADMIN_EMAIL: admin@email.com
# admin password
BYTEDESK_ADMIN_PASSWORD: admin
# create/import member default password
BYTEDESK_ADMIN_PASSWORD_DEFAULT: 123456
# 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
# force validate mobile
BYTEDESK_ADMIN_FORCE_VALIDATE_MOBILE: true
# force validate email
BYTEDESK_ADMIN_FORCE_VALIDATE_EMAIL: true
# Organization config
# organization name
BYTEDESK_ORGANIZATION_NAME: MyCompany
# organization code
BYTEDESK_ORGANIZATION_CODE: bytedesk
# Features config
# enable java ai
BYTEDESK_FEATURES_JAVA_AI: false
# enable python ai
BYTEDESK_FEATURES_PYTHON_AI: true
# send email by javamail, valid value: javamail/aliyun
BYTEDESK_FEATURES_EMAIL_TYPE: javamail
BYTEDESK_FEATURES_ENABLE_REGISTRATION: false
# avatar base url
BYTEDESK_FEATURES_AVATAR_BASE_URL:
# 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
# Upload config
BYTEDESK_UPLOAD_TYPE: local
# upload dir
BYTEDESK_UPLOAD_DIR: /app/uploads
# 上传文件的访问地址,请修改为服务器实际的地址
BYTEDESK_UPLOAD_URL: http://127.0.0.1:9003
# Knowledge base config
# theme: default/eduport/social/kbdoc
BYTEDESK_KBASE_THEME: default
# html path
BYTEDESK_KBASE_HTML_PATH: helpcenter
# 知识库的访问地址,请修改为服务器实际的地址
BYTEDESK_KBASE_API_URL: http://127.0.0.1:9003
# Socket config
# socket host
BYTEDESK_SOCKET_HOST: 0.0.0.0
# 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
# Cluster config
# enable cluster
BYTEDESK_CLUSTER_ENABLED: false
# Push config
# BYTEDESK_PUSH_APNS_BUNDLE_ID: com.kefux.im
# BYTEDESK_PUSH_APNS_P12_URL: 123.p12
# BYTEDESK_PUSH_APNS_P12_PASSWORD: 123456
# druid
SPRING_DATASOURCE_DRUID_STAT_VIEW_SERVLET_LOGIN_USERNAME: admin@email.com
SPRING_DATASOURCE_DRUID_STAT_VIEW_SERVLET_LOGIN_PASSWORD: admin
# Actuator security configuration
MANAGEMENT_ENDPOINTS_ENABLED_BY_DEFAULT: false
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: ''
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_EXCLUDE: '*'
MANAGEMENT_ENDPOINT_HEALTH_ENABLED: false
MANAGEMENT_ENDPOINT_INFO_ENABLED: false
MANAGEMENT_SERVER_PORT: -1
MANAGEMENT_ENDPOINTS_WEB_BASE_PATH: '/management'
SPRING_SECURITY_BASIC_ENABLED: true
# ai config
# zhipuai
# 申请智谱AI API Keyhttps://www.bigmodel.cn/usercenter/proj-mgmt/apikeys
SPRING_AI_ZHIPUAI_API_KEY: 'sk-xxx'
SPRING_AI_ZHIPUAI_CHAT_ENABLED: false
SPRING_AI_ZHIPUAI_CHAT_OPTIONS_MODEL: glm-4-flash
SPRING_AI_ZHIPUAI_CHAT_OPTIONS_TEMPERATURE: 0.7
SPRING_AI_ZHIPUAI_EMBEDDING_ENABLED: false
# ollama
# ollama pull qwen2.5:1.5b
SPRING_AI_OLLAMA_BASE_URL: http://ollama-bytedesk:11434
SPRING_AI_OLLAMA_CHAT_ENABLED: true
# SPRING_AI_OLLAMA_CHAT_OPTIONS_MODEL: deepseek-r1:1.5b
SPRING_AI_OLLAMA_CHAT_OPTIONS_MODEL: qwen2.5:1.5b
SPRING_AI_OLLAMA_CHAT_OPTIONS_TEMPERATURE: 0.7
SPRING_AI_OLLAMA_EMBEDDING_ENABLED: true
SPRING_AI_OLLAMA_EMBEDDING_OPTIONS_MODEL: qwen2.5:1.5b
# deepseek
# 申请key https://api-docs.deepseek.com/zh-cn/
SPRING_AI_DEEPSEEK_BASE_URL: https://api.deepseek.com
SPRING_AI_DEEPSEEK_API_KEY: 'sk-xxx'
SPRING_AI_DEEPSEEK_CHAT_ENABLED: false
# deepseek-reasoner or deepseek-chat
SPRING_AI_DEEPSEEK_CHAT_OPTIONS_MODEL: deepseek-chat
SPRING_AI_DEEPSEEK_CHAT_OPTIONS_TEMPERATURE: 0.7
SPRING_AI_DEEPSEEK_EMBEDDING_ENABLED: false
# openai
# https://docs.spring.io/spring-ai/reference/api/chat/openai-chat.html
SPRING_AI_OPENAI_BASE_URL: https://api.openai.com
SPRING_AI_OPENAI_API_KEY: 'sk-xxx'
SPRING_AI_OPENAI_CHAT_ENABLED: false
SPRING_AI_OPENAI_CHAT_OPTIONS_MODEL: gpt-4o
# SPRING_AI_OPENAI_CHAT_OPTIONS_MODEL: gpt-4o-mini
SPRING_AI_OPENAI_CHAT_OPTIONS_TEMPERATURE: 0.7
SPRING_AI_OPENAI_EMBEDDING_ENABLED: false
# alibaba
# 阿里云百炼大模型获取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_API_KEY: 'sk-xxx'
SPRING_AI_DASHSCOPE_CHAT_ENABLED: false
SPRING_AI_DASHSCOPE_CHAT_OPTIONS_MODEL: deepseek-r1
SPRING_AI_DASHSCOPE_CHAT_OPTIONS_TEMPERATURE: 0.7
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
# siliconflow
# https://siliconflow.com/
# https://docs.spring.io/spring-ai/reference/api/chat/siliconflow-chat.html
SPRING_AI_SILICONFLOW_BASE_URL: https://api.siliconflow.cn
SPRING_AI_SILICONFLOW_API_KEY: 'sk-xxx'
SPRING_AI_SILICONFLOW_CHAT_ENABLED: false
SPRING_AI_SILICONFLOW_CHAT_OPTIONS_MODEL: Qwen/QwQ-32B
SPRING_AI_SILICONFLOW_CHAT_OPTIONS_TEMPERATURE: 0.7
# gitee
# https://ai.gitee.com/
# https://ai.gitee.com/docs/best-practice/integration
SPRING_AI_GITEE_BASE_URL: https://ai.gitee.com
SPRING_AI_GITEE_API_KEY: 'sk-xxx'
SPRING_AI_GITEE_CHAT_ENABLED: false
SPRING_AI_GITEE_CHAT_OPTIONS_MODEL: Qwen/QwQ-32B
SPRING_AI_GITEE_CHAT_OPTIONS_TEMPERATURE: 0.7
# moonshot
SPRING_AI_MOONSHOT_CHAT_ENABLED: false
SPRING_AI_MINIMAX_CHAT_ENABLED: false
# vector store
SPRING_AI_VECTORSTORE_REDIS_INITIALIZE_SCHEMA: true
# SPRING_AI_VECTORSTORE_REDIS_URI: redis://:qfRxz3tVT8Nh@redis-bytedesk:6379
SPRING_AI_VECTORSTORE_REDIS_INDEX_NAME: bytedesk_vs_index
# SPRING_AI_VECTORSTORE_REDIS_PREFIX: bytedesk_vs_prefix:
# mcp
SPRING_AI_MCP_CLIENT_ENABLED: false
SPRING_AI_MCP_SERVER_ENABLED: false
SPRING_AI_MCP_SERVER_STDIO: false
SPRING_AI_MCP_SERVER_TYPE: SYNC
# weaviate
SPRING_AI_VECTORSTORE_WEAVIATE_ENABLED: false
# SPRING_MAIN_ALLOW_BEAN_DEFINITION_OVERRIDING: true
# wechat config
WECHAT_PAY_ENABLED: false
# 阿里云短信服务的签名可以在控制台找到如是中文请转为Unicode
ALIYUN_SMS_SIGNNAME: ''
#阿里云短信服务的模板Code可以在控制台找到
ALIYUN_SMS_TEMPLATECODE: ''
# springdoc
SPRINGDOC_SHOW_ACTUATOR: false
# swagger-ui
# http://服务器ip: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://服务器ip:9003/doc.html
KNIFE4J_ENABLED: true
KNIFE4J_SETTING_LANGUAGE: zh_cn
# tencent
# https://console.cloud.tencent.com/hunyuan/start#
# https://cloud.tencent.com/document/product/1729/111007
SPRING_AI_TENCENT_BASE_URL: https://api.hunyuan.cloud.tencent.com
SPRING_AI_TENCENT_API_KEY: 'sk-xxx'
SPRING_AI_TENCENT_CHAT_ENABLED: false
SPRING_AI_TENCENT_CHAT_OPTIONS_MODEL: hunyuan-t1-latest
SPRING_AI_TENCENT_CHAT_OPTIONS_TEMPERATURE: 0.7
# baidu
# https://console.bce.baidu.com/iam/#/iam/apikey/list
# https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Fm2vrveyu
SPRING_AI_BAIDU_BASE_URL: https://qianfan.baidubce.com/v2
SPRING_AI_BAIDU_API_KEY: 'bce-v3/xxx'
SPRING_AI_BAIDU_CHAT_ENABLED: false
SPRING_AI_BAIDU_CHAT_OPTIONS_MODEL: ernie-x1-32k-preview
SPRING_AI_BAIDU_CHAT_OPTIONS_TEMPERATURE: 0.7
# volcengine 火山引擎
# api key: https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D
# https://www.volcengine.com/docs/82379/1330626
SPRING_AI_VOLCENGINE_BASE_URL: https://ark.cn-beijing.volces.com/api/v3
SPRING_AI_VOLCENGINE_API_KEY: 'sk-xxx'
SPRING_AI_VOLCENGINE_CHAT_ENABLED: false
SPRING_AI_VOLCENGINE_CHAT_OPTIONS_MODEL: doubao-1-5-pro-32k-250115
SPRING_AI_VOLCENGINE_CHAT_OPTIONS_TEMPERATURE: 0.7
ports:
- 9003:9003
- 9885:9885
volumes:
- upload_data:/app/uploads
networks:
- bytedesk-network
volumes:
mysql_data:
redis_data:
upload_data:
ollama_data:
networks:
bytedesk-network:
driver: bridge