From 9d1869fe197a96a76e4fc72b0bf1009985e7d7ae Mon Sep 17 00:00:00 2001 From: zhaieryuan Date: Thu, 2 Apr 2026 10:32:34 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E6=B7=BB=E5=8A=A0=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=90=AF=E5=8A=A8=E9=95=9C=E5=83=8F=E5=8A=A0?= =?UTF-8?q?=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 13 +++++----- scanner/Dockerfile | 25 +++++++++++++----- .../iflytek/skillhub/config/WebMvcConfig.java | 26 +++++++++++++++++++ 3 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 server/skillhub-app/src/main/java/com/iflytek/skillhub/config/WebMvcConfig.java diff --git a/docker-compose.yml b/docker-compose.yml index 7bf18ffc..f3fdb943 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,13 @@ + services: skill-scanner: build: ./scanner ports: - "8000:8000" environment: - SKILL_SCANNER_LLM_API_KEY: ${SKILL_SCANNER_LLM_API_KEY:-} - SKILL_SCANNER_LLM_BASE_URL: ${SKILL_SCANNER_LLM_BASE_URL:-} - SKILL_SCANNER_LLM_MODEL: ${SKILL_SCANNER_LLM_MODEL:-} + SKILL_SCANNER_LLM_API_KEY: ${SKILL_SCANNER_LLM_API_KEY:-1d4389c1d6fb42849053958dbe916c6c.YfkLCfIXhxJlrA8D} + SKILL_SCANNER_LLM_BASE_URL: ${SKILL_SCANNER_LLM_BASE_URL:-https://open.bigmodel.cn/api/paas/v4} + SKILL_SCANNER_LLM_MODEL: ${SKILL_SCANNER_LLM_MODEL:-glm-4.7} healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8000/health"] interval: 10s @@ -14,7 +15,7 @@ services: retries: 5 postgres: - image: ${POSTGRES_IMAGE:-postgres:16-alpine} + image: ${POSTGRES_IMAGE:-postgres:17-alpine} ports: - "5432:5432" environment: @@ -30,7 +31,7 @@ services: retries: 5 redis: - image: ${REDIS_IMAGE:-redis:7-alpine} + image: ${REDIS_IMAGE:-redis:7.0-alpine} ports: - "6379:6379" healthcheck: @@ -40,7 +41,7 @@ services: retries: 5 minio: - image: ${MINIO_IMAGE:-minio/minio:latest} + image: ${MINIO_IMAGE:-minio/minio:RELEASE.2025-09-07T16-13-09Z} ports: - "9000:9000" - "9001:9001" diff --git a/scanner/Dockerfile b/scanner/Dockerfile index cb0c82c8..15fc49a2 100644 --- a/scanner/Dockerfile +++ b/scanner/Dockerfile @@ -2,13 +2,24 @@ FROM python:3.11-alpine WORKDIR /app -RUN apk add --no-cache --virtual .build-deps gcc musl-dev libffi-dev && \ - pip install --no-cache-dir cisco-ai-skill-scanner && \ - apk del .build-deps && \ - addgroup -S app && \ - adduser -S app -G app && \ - mkdir -p /tmp/skillhub-scans && \ - chown app:app /tmp/skillhub-scans +# 原始的构建命令 +#RUN apk add --no-cache --virtual .build-deps gcc musl-dev libffi-dev && \ +# pip install --no-cache-dir cisco-ai-skill-scanner && \ +# apk del .build-deps && \ +# addgroup -S app && \ +# adduser -S app -G app && \ +# mkdir -p /tmp/skillhub-scans && \ +# chown app:app /tmp/skillhub-scans + + +# 优化使用阿里云加速 +# 1.使用阿里云 Alpine 镜像源加速 apk 下载 +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories + +# 2. 只在包版本变化时重新安装(分层缓存) +#RUN apk add --no-cache gcc musl-dev libffi-dev wget && \ +# pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ cisco-ai-skill-scanner && \ +# apk del gcc musl-dev libffi-dev USER app diff --git a/server/skillhub-app/src/main/java/com/iflytek/skillhub/config/WebMvcConfig.java b/server/skillhub-app/src/main/java/com/iflytek/skillhub/config/WebMvcConfig.java new file mode 100644 index 00000000..99c127c3 --- /dev/null +++ b/server/skillhub-app/src/main/java/com/iflytek/skillhub/config/WebMvcConfig.java @@ -0,0 +1,26 @@ +package com.iflytek.skillhub.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * Web MVC configuration. + */ +@Configuration +public class WebMvcConfig implements WebMvcConfigurer { + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // Handle favicon.ico requests gracefully + registry.addResourceHandler("/favicon.ico") + .addResourceLocations("classpath:/static/"); + } + + @Override + public void addViewControllers(ViewControllerRegistry registry) { + // Return 404 for favicon.ico to avoid error logs + registry.addRedirectViewController("/favicon.ico", "/index.html"); + } +}