From 61ebcba7fd13aa2fc93b20f5adfadabe8fd6b695 Mon Sep 17 00:00:00 2001 From: liqupan Date: Mon, 24 Nov 2025 18:44:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E6=89=93=E5=8C=85?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 39 +++++++++++++++++++----------- src/main/resources/application.yml | 12 ++++----- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4177d97..fe758ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,6 @@ services: mysql: - build: - context: . - dockerfile: Dockerfile-mysql + image: xiaozhi-server-feature-continue-from-4a52c9c-mysql:latest ports: - "13306:3306" # 修改为 13306 或其他未使用的端口 networks: @@ -17,9 +15,7 @@ services: start_period: 30s node: - build: - context: . - dockerfile: Dockerfile-node + image: xiaozhi-server-feature-continue-from-4a52c9c-node:latest depends_on: mysql: condition: service_healthy @@ -31,17 +27,12 @@ services: - API_URL=http://server:8091 server: - build: - context: . - dockerfile: Dockerfile-server - args: - - VOSK_MODEL_SIZE=${VOSK_MODEL_SIZE:-small} - # 添加构建缓存设置 - cache_from: - - eclipse-temurin:21-jre + image: xiaozhi-server-feature-continue-from-4a52c9c-server:latest depends_on: mysql: condition: service_healthy + redis: + condition: service_healthy # 新增:确保 Redis 就绪 ports: - "8091:8091" networks: @@ -50,10 +41,30 @@ services: - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/xiaozhi?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - SPRING_DATASOURCE_USERNAME=xiaozhi - SPRING_DATASOURCE_PASSWORD=123456 + - SPRING_DATA_REDIS_HOST=redis # 关键:使用正确的环境变量名和服务名 redis + - SPRING_DATA_REDIS_PORT=6379 + - FILE_LOCAL_UPLOAD_PATH=/app/uploads/ # 指定上传路径为 /app/uploads volumes: - maven_repo:/root/.m2/repository # 持久化Maven仓库 - vosk_models:/vosk_cache # 持久化Vosk模型 + - ./uploads:/app/uploads # 挂载本地 uploads 目录到容器内,包含已有的头像文件 restart: on-failure # 添加重启策略,如果启动失败会自动重试 + + redis: + image: redis:7.2 + restart: unless-stopped + networks: + - app-network + ports: + - "6379:6379" + command: > + redis-server --appendonly no --timeout 10 --tcp-keepalive 300 + healthcheck: + test: ["CMD", "redis-cli", "ping"] # 健康检查 + interval: 5s + timeout: 3s + retries: 5 + start_period: 5s networks: app-network: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 13ae039..40eaf3f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -6,9 +6,9 @@ spring: type: simple datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/xiaozhi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true - username: xiaozhi - password: 123456 + url: ${SPRING_DATASOURCE_URL:jdbc:mysql://localhost:3306/xiaozhi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true} + username: ${SPRING_DATASOURCE_USERNAME:xiaozhi} + password: ${SPRING_DATASOURCE_PASSWORD:123456} type: com.zaxxer.hikari.HikariDataSource hikari: minimum-idle: 5 @@ -22,9 +22,9 @@ spring: data: # redis配置 redis: - host: 127.0.0.1 - port: 6379 - password: + host: ${SPRING_DATA_REDIS_HOST:127.0.0.1} # 支持环境变量,默认127.0.0.1用于本地开发 + port: ${SPRING_DATA_REDIS_PORT:6379} # 支持环境变量,默认6379 + password: ${SPRING_DATA_REDIS_PASSWORD:} # 支持环境变量,默认空 database: 0 # 连接超时时间 timeout: 10s