# search-mcp-docker **Repository Path**: GodanKing/search-mcp-docker ## Basic Information - **Project Name**: search-mcp-docker - **Description**: AliyahZombie/SearchMCP项目容器化 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-28 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SearchMCP Docker Compose Stack 基于Docker镜像的一键安装和启动SearxNG搜索服务和SearchMCP MCP服务的完整解决方案。 ## 功能特性 - 🐳 **容器化部署**:使用Docker Compose统一管理 - 🏗️ **镜像化架构**:SearchMCP预构建为Docker镜像 - 🔐 **自动配置**:自动生成SearxNG密钥 - 🌐 **网络集成**:服务间内部网络通信 - 💾 **数据持久化**:配置和数据持久化存储 - 🚀 **健康检查**:自动健康监控和重启 - 🔧 **灵活配置**:支持环境变量自定义 ## 服务说明 ### 1. SearxNG - **镜像**: `swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/searxng/searxng:2025.6.3-b73ac81` - **端口**: 10003 (可配置) - **功能**: 隐私友好的元搜索引擎 - **访问地址**: http://localhost:10003 ### 2. SearchMCP - **镜像**: `searchmcp:latest` (本地构建) - **端口**: 9191 (可配置) - **功能**: MCP搜索服务,提供SSE接口 - **访问地址**: http://localhost:9191/sse - **特性**: 自动克隆GitHub仓库、安装依赖、配置Camoufox浏览器 ## 快速开始 ### 前提条件 - Docker 20.10+ - Docker Compose 2.0+ - Git (用于构建SearchMCP镜像) - 开启代理软件“局域网连接” ### 方法一:完整安装(推荐) ```bash # 下载并运行完整安装脚本 curl -L -o install-complete.sh https://raw.githubusercontent.com/your-repo/search-mcp-docker/main/install-complete.sh chmod +x install-complete.sh ./install-complete.sh ``` ### 方法二:分步安装(推荐) 1. **克隆SearchMCP项目** ```bash # 下载配置文件 git clone https://github.com/your-repo/search-mcp-docker.git cd search-mcp-docker # 克隆SearchMCP源代码(可选,构建脚本会自动处理) ./clone-searchmcp.sh ``` 2. **构建SearchMCP镜像** ```bash # 使用带克隆的构建脚本(自动克隆+COPY) ./build-with-clone.sh # 或使用原始构建脚本(Dockerfile内git clone) ./build-image.sh ``` 3. **配置环境变量** ```bash ./generate-env.sh ``` 4. **启动服务** ```bash ./start.sh ``` ### 方法三:使用预构建镜像 如果你有预构建的SearchMCP镜像,可以直接使用: ```bash # 修改docker-compose.yml中的image配置 # 将 searchmcp:latest 改为你的镜像地址 # 然后运行 ./start.sh ``` ## 配置说明 ### 环境变量 使用自动生成脚本创建环境配置: ```bash ./generate-env.sh ``` ### 镜像配置 提供两种Dockerfile构建方式: **1. Dockerfile(内嵌git clone)** - 在构建过程中自动克隆GitHub仓库 - 简单但网络依赖强 **2. Dockerfile.copy(外部克隆+COPY)** - 先使用`./clone-searchmcp.sh`克隆项目 - 构建时复制已克隆的代码到镜像 - 更好的缓存利用,减少网络依赖 ### 构建脚本 - `build-image.sh` - 使用原始Dockerfile构建 - `build-with-clone.sh` - 使用Dockerfile.copy构建(推荐) - `clone-searchmcp.sh` - 单独克隆SearchMCP项目 ### 自定义镜像 如需自定义SearchMCP镜像: 1. 修改对应的Dockerfile 2. 重新构建镜像:`./build-with-clone.sh` 3. 重启服务:`docker compose up -d --build` ### 自定义配置 1. **修改端口**:编辑`.env`文件中的`SEARXNG_PORT`和`SEARCHMCP_PORT` 2. **自定义密钥**:编辑`.env`文件中的`SEARXNG_SECRET` 3. **数据目录**:数据存储在`./data/`目录下 查询 Docker 的网关地址 ```bash # look for inet x.x.x.x/xx → usually 172.17.0.1 ip -4 addr show docker0 ``` ### 网络配置 - 服务间通过`search-network`内部网络通信 - SearchMCP可通过`http://searxng:8080`访问SearxNG - 外部访问通过映射的端口 ## 管理命令 ### 启动服务 ```bash docker compose up -d ``` ### 停止服务 ```bash docker compose down ``` ### 查看日志 ```bash # 查看所有服务日志 docker compose logs -f # 查看特定服务日志 docker compose logs -f searxng docker compose logs -f searchmcp ``` ### 重启服务 ```bash docker compose restart ``` ### 重建服务 ```bash docker compose up -d --build ``` ### 查看服务状态 ```bash docker compose ps ``` ### 构建和更新镜像 ```bash # 构建SearchMCP镜像(推荐方式) ./build-with-clone.sh # 或使用原始方式构建 ./build-image.sh # 更新并重启服务 docker compose up -d --build # 推送镜像到仓库(需配置) ./push-image.sh ``` ## 故障排除 ### 常见问题 1. **端口冲突** - 修改`.env`文件中的端口配置 - 确保端口未被其他服务占用 2. **镜像构建失败** - 检查网络连接,确保能访问GitHub - 尝试使用`./build-with-clone.sh`(外部克隆方式) - 查看详细错误:`docker build --no-cache -t searchmcp:latest -f Dockerfile.copy .` - 检查Dockerfile语法 3. **服务无法启动** - 检查SearchMCP镜像是否存在:`docker images searchmcp:latest` - 查看日志:`docker compose logs` - 验证Camoufox浏览器安装:`docker compose exec searchmcp camoufox --version` 4. **健康检查失败** - 等待服务完全启动(约40秒启动时间) - 检查网络配置 - 验证SearchMCP健康端点:`curl http://localhost:9191/health` ### 数据备份 - SearxNG配置:`./data/searxng/` - SearchMCP数据:`./data/searchmcp/` ## 项目结构 ``` search-mcp-docker/ ├── docker-compose.yml # Docker Compose配置 ├── Dockerfile # SearchMCP Docker镜像构建文件(内嵌git clone) ├── Dockerfile.copy # SearchMCP Docker镜像构建文件(外部克隆+COPY) ├── start.sh # 启动脚本 ├── generate-env.sh # 环境变量生成脚本 ├── build-image.sh # 镜像构建脚本(使用Dockerfile) ├── build-with-clone.sh # 镜像构建脚本(使用Dockerfile.copy,推荐) ├── clone-searchmcp.sh # SearchMCP项目克隆脚本 ├── push-image.sh # 镜像推送脚本 ├── install-complete.sh # 完整安装脚本 ├── README.md # 说明文档 ├── MIRROR-SOURCES.md # 镜像源配置说明 └── data/ # 数据目录 ├── searxng/ # SearxNG配置数据 └── searchmcp/ # SearchMCP数据 ``` ## 许可证 本项目基于MIT许可证开源。 ## 相关链接 - [SearxNG GitHub](https://github.com/searxng/searxng) - [SearchMCP GitHub](https://github.com/AliyahZombie/SearchMCP) - [Docker Documentation](https://docs.docker.com/) - [Docker Compose Documentation](https://docs.docker.com/compose/)