# Docker AI Stack：一键部署完整本地AI技术栈的终极解决方案

> 一个基于Docker Compose的完整本地AI技术栈，集成Ollama、LiteLLM、Whisper、Kokoro、Embeddings和MCP Gateway，支持GPU加速，提供从语音输入到语音输出的端到端AI能力。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-06T04:53:47.000Z
- 最近活动: 2026-05-06T05:01:33.630Z
- 热度: 163.9
- 关键词: Docker, 本地AI, Ollama, LiteLLM, 语音处理, RAG, MCP, 开源, GPU加速, 隐私保护
- 页面链接: https://www.zingnex.cn/forum/thread/docker-ai-stack-ai
- Canonical: https://www.zingnex.cn/forum/thread/docker-ai-stack-ai
- Markdown 来源: ingested_event

---

# Docker AI Stack：一键部署完整本地AI技术栈的终极解决方案

在AI技术快速迭代的今天，开发者面临着一个共同的挑战：如何快速搭建一个功能完整、数据安全、成本可控的本地AI基础设施？**docker-ai-stack**项目给出了一个优雅的答案——这是一个基于Docker Compose的完整AI技术栈，只需一条命令即可部署包含大语言模型、语音处理、文本嵌入和AI工具网关的全套服务。

## 项目概述

docker-ai-stack的设计理念是"零配置"和"隐私优先"。它整合了当前最流行的开源AI服务，通过Docker容器化技术实现了服务的快速部署和隔离运行。所有核心服务都在本地运行，数据不会发送到第三方，特别适合对数据隐私有严格要求的场景。

## 核心服务架构

docker-ai-stack包含六大核心服务，覆盖了从输入处理到输出生成的完整AI流水线：

### 1. Ollama（大语言模型服务）

- **角色**：运行本地LLM模型（如llama3、qwen、mistral等）
- **默认端口**：11434
- **特点**：支持多种开源模型，GPU加速推理

### 2. LiteLLM（AI网关）

- **角色**：统一API网关，路由请求到Ollama或100+外部提供商
- **默认端口**：4000
- **特点**：OpenAI兼容API格式，支持模型负载均衡和故障转移

### 3. Embeddings（文本嵌入服务）

- **角色**：将文本转换为向量，支持语义搜索和RAG应用
- **默认端口**：8000
- **特点**：本地运行，无需外部API

### 4. Whisper（语音转文字）

- **角色**：将语音音频转录为文本
- **默认端口**：9000
- **特点**：支持多语言，本地处理保护隐私

### 5. Kokoro（文字转语音）

- **角色**：将文本转换为自然语音
- **默认端口**：8880
- **特点**：高质量语音合成，支持多种音色

### 6. MCP Gateway（AI工具网关）

- **角色**：提供MCP工具（文件系统、网络请求、GitHub、搜索、数据库等）
- **默认端口**：3000
- **特点**：让AI客户端能够安全地访问本地工具和外部服务

## 完整数据流图解

```
🎤 音频输入 → Whisper (STT) → 📄 文本
📄 文档 → Embeddings → 向量数据库 (Qdrant/Chroma)
                         ↓
🤖 AI客户端 → LiteLLM (AI网关) → Ollama (本地LLM)
     ↓              ↓
  MCP工具 ← MCP Gateway ← 响应
     ↓
Kokoro (TTS) → 🔊 音频输出
```

这个架构实现了从语音输入到语音输出的完整闭环，同时支持RAG（检索增强生成）和多工具协作。

## 快速开始

### 系统要求

- Linux服务器（本地或云端），已安装Docker
- 至少8GB内存（使用小型模型）
- 运行8B+大模型时建议32GB或更多内存
- NVIDIA GPU（可选，用于CUDA加速）

### 一键部署

```bash
# 克隆仓库
git clone https://github.com/hwdsl2/docker-ai-stack
cd docker-ai-stack

# 启动完整技术栈
docker compose up -d
```

### 拉取模型

在使用LLM服务前，需要先拉取模型：

```bash
docker exec ollama ollama_manage --pull llama3.2:3b
```

### 获取API密钥

各服务会自动生成API密钥，可通过以下命令查看：

```bash
# Ollama API密钥
docker exec ollama ollama_manage --showkey

# LiteLLM API密钥
docker exec litellm litellm_manage --getkey

# MCP Gateway API密钥
docker exec mcp mcp_manage --getkey
```

## GPU加速支持

对于配备NVIDIA GPU的环境，可以使用CUDA版本获得显著的性能提升：

```bash
docker compose -f docker-compose.cuda.yml up -d
```

**要求**：
- NVIDIA GPU
- NVIDIA驱动535+
- NVIDIA Container Toolkit
- 注意：CUDA镜像仅支持linux/amd64架构

## 轻量级技术栈选项

如果资源有限或不需要完整功能，docker-ai-stack提供了多个预配置的子集：

### 语音流水线（~5GB内存）

包含：Whisper + Ollama + LiteLLM + Kokoro

适用场景：语音输入 → LLM处理 → 语音输出的完整对话系统

```bash
cd docker-ai-stack/stacks/voice-pipeline
docker compose up -d
```

### RAG流水线（~3GB内存）

包含：Ollama + LiteLLM + Embeddings

适用场景：语义搜索 + LLM问答系统

```bash
cd docker-ai-stack/stacks/rag-pipeline
docker compose up -d
```

### AI工具栈（~3GB内存）

包含：Ollama + LiteLLM + MCP Gateway

适用场景：带工具访问能力的AI编程助手

```bash
cd docker-ai-stack/stacks/ai-tools
docker compose up -d
```

### 纯聊天（~2.5GB内存）

包含：Ollama + LiteLLM

适用场景：最小化的本地ChatGPT替代方案

```bash
cd docker-ai-stack/stacks/chat-only
docker compose up -d
```

## 使用docker run手动部署

对于需要更精细控制的场景，可以使用docker run命令单独启动服务：

### 创建共享网络

```bash
docker network create ai-stack
```

### 启动Ollama

```bash
docker run -d --name ollama --restart always \
  --network ai-stack \
  -v ollama-data:/var/lib/ollama \
  hwdsl2/ollama-server
```

### 启动LiteLLM

```bash
docker run -d --name litellm --restart always \
  --network ai-stack \
  -p 4000:4000 \
  -e LITELLM_OLLAMA_BASE_URL=http://ollama:11434 \
  -v litellm-data:/etc/litellm \
  hwdsl2/litellm-server
```

### 启动其他服务

Embeddings、Whisper、Kokoro、MCP Gateway都可以类似方式启动。共享网络让服务可以通过容器名互相通信（如LiteLLM通过http://ollama:11434连接Ollama）。

## 安全特性

docker-ai-stack在设计上充分考虑了安全性：

### 自动密钥生成

- Ollama、LiteLLM和MCP Gateway在首次启动时自动生成API密钥
- 无需手动配置，降低密钥泄露风险

### 本地优先

- 音频处理、文本嵌入、LLM推理全部在本地运行
- 数据不会发送到第三方服务
- 适合处理敏感数据的企业环境

### 可选认证

- Whisper、Kokoro和Embeddings默认无需API密钥
- 可通过环境变量配置文件设置密钥（用于公共部署）

### 外部提供商隔离

- 使用LiteLLM连接外部提供商（如OpenAI、Anthropic）时，数据才会离开本地
- 这种设计让用户明确知道何时数据会外传

## 典型应用场景

### 1. 本地智能助手

搭建一个类似Siri或Alexa的本地语音助手：

- 语音输入通过Whisper转录
- Ollama处理理解意图
- Kokoro将回复转换为语音
- MCP Gateway提供工具访问能力

### 2. 私有RAG知识库

构建企业内部的智能知识管理系统：

- 文档通过Embeddings服务生成向量
- 存储在本地Qdrant或Chroma向量数据库
- LiteLLM协调检索和生成
- 数据完全保留在企业内部

### 3. AI编程工作站

为开发者提供强大的AI辅助编程环境：

- Ollama运行代码生成模型
- MCP Gateway提供文件系统、GitHub、搜索等工具
- LiteLLM统一API接口
- 支持Cline、Claude等AI客户端

### 4. 多语言语音服务

构建支持多语言的语音处理平台：

- Whisper支持多语言语音识别
- Kokoro提供多音色语音合成
- 完全本地化，保护用户语音隐私

## 扩展与定制

### 自定义模型

可以通过Ollama管理命令拉取和运行不同的模型：

```bash
# 列出可用模型
docker exec ollama ollama_manage --list

# 拉取特定模型
docker exec ollama ollama_manage --pull codellama:7b
docker exec ollama ollama_manage --pull qwen2.5:14b

# 删除模型
docker exec ollama ollama_manage --remove llama3.2:3b
```

### 服务配置

每个服务都可以通过环境变量进行配置。查看各服务的文档了解详细的配置选项。

### 数据持久化

所有服务都使用Docker卷进行数据持久化：

- `ollama-data`：模型文件和配置
- `litellm-data`：网关配置和日志
- `embeddings-data`：嵌入模型和缓存
- `whisper-data`：语音模型
- `kokoro-data`：TTS模型和语音数据
- `mcp-data`：MCP工具配置

## 相关项目

docker-ai-stack的作者还维护了一系列相关项目：

- **WhisperLive**：实时语音转录服务
- **WireGuard/OpenVPN/IPsec VPN**：网络安全工具
- **Headscale**：自托管的Tailscale控制服务器

## 总结

docker-ai-stack代表了本地AI基础设施部署的最佳实践。它通过Docker容器化技术，将复杂的AI服务栈简化为一条命令即可运行的解决方案。无论是个人开发者想要搭建私有AI环境，还是企业需要部署安全的内部AI平台，docker-ai-stack都提供了一个功能完整、易于维护的起点。

项目的核心价值在于：

1. **完整性**：覆盖语音、文本、推理、工具的全栈能力
2. **易用性**：零配置启动，自动密钥管理
3. **隐私性**：核心服务本地运行，数据不外泄
4. **灵活性**：从2.5GB到完整栈的多种部署选项
5. **可扩展性**：基于Docker的标准化部署，易于定制和扩展

对于希望在本地或私有云环境中部署AI能力的团队来说，docker-ai-stack是一个值得认真考虑的基础设施建设方案。
