# 内网部署指南 - Simple-KB 知识库系统 ## 概述 本文档介绍如何在内部网络环境中部署Simple-KB知识库系统,确保所有外部依赖都被移除或替换为内部资源。 ## 主要修改内容 ### 1. 外部CDN资源移除 已完成修改: - 将 KaTeX CSS 文件从外部 CDN (https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css) 移至本地 - `web/index.html` 已更新为引用本地 `/katex/katex.min.css` - KaTeX CSS 文件已复制到 `web/public/katex/katex.min.css` ### 2. AI模型API配置 系统本身支持内部模型API配置: - 模型配置通过 `ModelConfig` 实体管理 - 支持自定义 `baseUrl` 来指定内部模型服务 - 用户可通过UI界面配置内部模型端点 ## 内网部署配置步骤 ### 步骤1: 部署内部AI模型服务 在启动Simple-KB之前,请确保已部署内部AI模型服务,如: - 自托管的OpenAI兼容接口 (如 vLLM, Text Generation WebUI等) - 内部大语言模型服务 - 内部嵌入模型服务 ### 步骤2: 配置模型端点 1. 启动Simple-KB系统 2. 登录系统后,在模型配置页面添加内部模型配置: - LLM模型: 配置内部LLM服务的URL和API密钥 - 嵌入模型: 配置内部嵌入服务的URL和API密钥 - 重排序模型: 配置内部重排序服务的URL和API密钥 ### 步骤3: Docker配置(可选高级配置) 如果需要修改Docker构建过程以使用内部注册表,请修改以下文件: #### 修改 server/Dockerfile: ```dockerfile # 替换这行: RUN yarn config set registry https://registry.npmmirror.com && \ # 为: RUN yarn config set registry http://your-internal-npm-registry && \ ``` #### 修改 web/Dockerfile: ```dockerfile # 替换这行: RUN yarn config set registry https://registry.npmmirror.com && \ # 为: RUN yarn config set registry http://your-internal-npm-registry && \ ``` #### 修改 libreoffice-server/Dockerfile: ```dockerfile # 替换APK仓库源 RUN echo "http://your-internal-mirror/alpine/v3.19/main" > /etc/apk/repositories && \ echo "http://your-internal-mirror/alpine/v3.19/community" >> /etc/apk/repositories && \ # 替换pip源 RUN pip install --no-cache-dir -r requirements.txt -i http://your-internal-pypi/ # 替换npm源 RUN npm install --registry=http://your-internal-npm-registry ``` ### 步骤4: Nginx配置 如果需要修改Nginx配置以适应内部环境: 1. 更新 `nginx/conf.d/kb.conf` 中的SSL证书路径 2. 根据需要修改服务器名称 3. 确保代理路径正确指向内部服务 ## 验证步骤 1. 确认前端界面正常加载且无外部资源错误 2. 测试数学公式渲染功能是否正常(KaTeX功能) 3. 配置内部模型服务并测试问答功能 4. 确认所有API调用都在内部网络中完成 ## 注意事项 - 系统的所有核心功能现均可在内部网络中运行 - 外部CDN依赖已被完全移除 - AI模型服务需单独部署内部实例 - 在完全离线环境中,构建过程可能需要预先下载所有依赖包 - 如需完全离线部署,建议预构建镜像并部署到内部镜像仓库