DOCKER_README.md 4.39 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# MinerU MCP-Server Docker 部署指南

## 1. 简介

本文档提供了使用 Docker 部署 MinerU MCP-Server 的详细指南。通过 Docker 部署,你可以在任何支持 Docker 的环境中快速启动 MinerU MCP 服务器,无需考虑复杂的环境配置和依赖管理。

Docker 部署的主要优势:

- **一致的运行环境**:确保在任何平台上都有相同的运行环境
- **简化部署流程**:一键启动,无需手动安装依赖
- **易于扩展和迁移**:便于在不同环境间迁移和扩展服务
- **资源隔离**:避免与宿主机其他服务产生冲突

## 2. 先决条件

在开始之前,请确保你的系统已安装以下软件:

- [Docker](https://www.docker.com/get-started) (19.03 或更高版本)
- [Docker Compose](https://docs.docker.com/compose/install/) (1.27.0 或更高版本)

你可以通过以下命令检查它们是否已正确安装:

```bash
docker --version
docker-compose --version
```

同时,你需要:

-[MinerU 官网](https://mineru.net) 获取的 API 密钥(如果需要使用远程 API)
- 充足的硬盘空间,用于存储转换后的文件

## 3. 使用 Docker Compose 部署(推荐)

Docker Compose 提供了最简单的部署方式,特别适合快速开始使用或开发环境。

### 3.1 准备配置文件

1. 克隆仓库(如果尚未克隆):

   ```bash
   git clone <repository-url>
   cd mineru-mcp
   ```

2. 创建环境变量文件:

   ```bash
   cp .env.example .env
   ```

3. 编辑 `.env` 文件,设置必要的环境变量:

   ```
   MINERU_API_BASE=https://mineru.net
   MINERU_API_KEY=你的API密钥
   OUTPUT_DIR=./downloads
   USE_LOCAL_API=false
   LOCAL_MINERU_API_BASE=http://localhost:8080
   ```

   如果你计划使用本地 API,请将 `USE_LOCAL_API` 设置为 `true`,并确保 `LOCAL_MINERU_API_BASE` 指向你的本地 API 服务地址。

### 3.2 启动服务

在项目根目录下运行:

```bash
docker-compose up -d
```

这将会:
- 构建 Docker 镜像(如果尚未构建)
- 创建并启动容器
- 在后台运行服务 (`-d` 参数)

服务将在 `http://localhost:8001` 上启动。你可以通过 MCP 客户端连接此地址。

### 3.3 查看日志

要查看服务日志,运行:

```bash
docker-compose logs -f
```

`Ctrl+C` 退出日志查看。

### 3.4 停止服务

要停止服务,运行:

```bash
docker-compose down
```

如果你想同时删除构建的镜像,可以使用:

```bash
docker-compose down --rmi local
```

## 4. 手动构建和运行 Docker 镜像

如果你需要更多的控制或自定义,你可以手动构建和运行 Docker 镜像。

### 4.1 构建镜像

在项目根目录下运行:

```bash
docker build -t mineru-mcp:latest .
```

这将根据 Dockerfile 构建一个名为 `mineru-mcp` 的 Docker 镜像,标签为 `latest`

### 4.2 运行容器

使用环境变量文件运行容器:

```bash
docker run -p 8001:8001 --env-file .env mineru-mcp:latest
```

或者直接指定环境变量:

```bash
docker run -p 8001:8001 \
  -e MINERU_API_BASE=https://mineru.net \
  -e MINERU_API_KEY=你的API密钥 \
  -e OUTPUT_DIR=/app/downloads \
  -v $(pwd)/downloads:/app/downloads \
  mineru-mcp:latest
```

### 4.3 挂载卷

为了持久化存储转换后的文件,你应该挂载宿主机目录到容器的输出目录:

```bash
docker run -p 8001:8001 --env-file .env \
  -v $(pwd)/downloads:/app/downloads \
  mineru-mcp:latest
```

这将挂载当前工作目录下的 `downloads` 文件夹到容器内的 `/app/downloads` 目录。

## 5. 环境变量配置

Docker 环境中支持的环境变量与标准环境相同:

| 环境变量 | 说明 | 默认值 |
| ------------------------- | -------------------------------------------------------------- | ------------------------- |
| `MINERU_API_BASE` | MinerU 远程 API 的基础 URL | `https://mineru.net` |
| `MINERU_API_KEY` | MinerU API 密钥,需要从官网申请 | - |
| `OUTPUT_DIR` | 转换后文件的保存路径 | `/app/downloads` |
| `USE_LOCAL_API` | 是否使用本地 API 进行解析(仅适用于 `local_parse_pdf` 工具) | `false` |
| `LOCAL_MINERU_API_BASE` | 本地 API 的基础 URL(当 `USE_LOCAL_API=true` 时有效) | `http://localhost:8080` |

在 Docker 环境中,你可以:

- 通过 `--env-file` 指定环境变量文件
- 通过 `-e` 参数直接指定环境变量
-`docker-compose.yml` 文件中的 `environment` 部分配置环境变量