保姆级教程:用Docker Compose一键部署Ollama + ChatGPT-Web,5分钟拥有本地AI聊天室

保姆级教程:用Docker Compose一键部署Ollama + ChatGPT-Web,5分钟拥有本地AI聊天室 5分钟极速搭建用Docker Compose打造本地AI聊天室全指南在人工智能技术日益普及的今天拥有一个本地运行的AI对话系统不再是遥不可及的梦想。本文将带你通过Docker Compose这一容器编排工具快速搭建一个结合Ollama大模型与ChatGPT-Web界面的完整解决方案。无需复杂的配置过程也无需担心硬件兼容性问题即使是开发新手也能在5分钟内完成部署。1. 环境准备与工具安装1.1 系统要求检查在开始之前请确保你的设备满足以下基本要求操作系统Windows 10/11、macOS 10.15或主流Linux发行版内存至少8GB推荐16GB以上以获得更流畅体验存储空间20GB可用空间用于存放模型文件网络连接稳定的互联网连接用于下载Docker镜像和模型提示虽然可以在CPU上运行但如果有NVIDIA显卡并安装好CUDA驱动性能会有显著提升。1.2 Docker与Docker Compose安装如果你的系统尚未安装Docker可按以下步骤进行Windows/macOS用户访问 Docker官网 下载Desktop版本双击安装包完成安装启动Docker Desktop应用Linux用户以Ubuntu为例# 卸载旧版本如有 sudo apt-get remove docker docker-engine docker.io containerd runc # 安装依赖 sudo apt-get update sudo apt-get install ca-certificates curl gnupg # 添加Docker官方GPG密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg # 设置仓库 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release echo $VERSION_CODENAME) stable | \ sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 验证安装 sudo docker run hello-world2. 项目配置与部署2.1 获取项目代码我们将使用一个已经配置好的docker-compose项目它整合了Ollama和ChatGPT-Web界面git clone https://gitee.com/fly-llm/ollama-chatgpt-web.git cd ollama-chatgpt-web2.2 理解docker-compose.yml结构让我们先看一下核心配置文件的关键部分version: 3.5 services: ollama: image: ollama/ollama ports: - 8000:8000 environment: - OLLAMA_HOST0.0.0.0:8000 volumes: - ./models:/root/.ollama/models chatgpt-web: image: chenzhaoyu94/chatgpt-web ports: - 3002:3002 environment: OPENAI_API_BASE_URL: http://ollama:8000/v1 OPENAI_API_MODEL: qwen:0.5b depends_on: - ollama这个配置定义了两个服务ollama负责运行大语言模型chatgpt-web提供Web聊天界面2.3 一键启动服务执行以下命令启动所有服务docker-compose up -d启动后你可以通过以下命令查看服务状态docker-compose ps正常情况应该看到两个服务都显示为running状态。3. 模型管理与优化3.1 预置模型选择在默认配置中我们使用了Qwen-0.5B模型这是一个相对轻量级的模型适合大多数普通配置的电脑。如果你有更强的硬件可以考虑更换为更大的模型模型名称参数量最低内存要求适用场景qwen:0.5b0.5B4GB快速响应基础对话qwen:1.8b1.8B8GB平衡性能与资源qwen:7b7B16GB更复杂的任务处理3.2 模型下载与管理模型会在首次使用时自动下载但有时可能需要手动干预查看已下载模型docker exec -it ollama ollama list下载新模型docker exec -it ollama ollama pull qwen:1.8b删除模型docker exec -it ollama ollama rm qwen:0.5b注意模型下载速度取决于你的网络连接大型模型可能需要较长时间。3.3 模型切换与配置更新要更换模型需要修改docker-compose.yml中的OPENAI_API_MODEL环境变量然后重新启动服务docker-compose down docker-compose up -d4. 使用与高级配置4.1 访问Web界面服务启动后打开浏览器访问http://localhost:3002你将看到一个简洁的聊天界面可以直接开始与你的本地AI对话。4.2 界面功能概览ChatGPT-Web界面提供了以下主要功能多轮对话保持上下文连贯的对话体验Markdown渲染支持代码块、列表等格式显示对话历史自动保存最近的对话记录主题切换支持深色/浅色模式4.3 性能优化建议如果你的系统响应较慢可以尝试以下优化模型选择CPU用户使用0.5B或1.8B版本GPU用户可尝试7B版本Docker资源限制 在docker-compose.yml中为ollama服务添加资源限制ollama: deploy: resources: limits: cpus: 2 memory: 8G批处理大小调整 通过环境变量控制推理批处理大小environment: - OLLAMA_NUM_GPU1 - OLLAMA_MAX_LOADED_MODELS24.4 常见问题排查问题1Web界面无法连接Ollama服务检查docker-compose ps确认两个服务都在运行查看Ollama日志docker logs ollama确保OPENAI_API_BASE_URL配置正确问题2模型下载失败尝试手动下载docker exec -it ollama ollama pull qwen:0.5b检查网络连接特别是如果需要特殊网络环境清理缓存后重试docker system prune -a问题3响应速度慢降低模型大小检查系统资源使用情况考虑升级硬件配置5. 安全与维护5.1 数据持久化所有模型文件都存储在本地./models目录中即使删除容器也不会丢失。定期备份此目录可以避免重复下载模型。5.2 服务更新要更新到最新版本的容器镜像docker-compose pull docker-compose up -d5.3 访问控制如果需要限制访问可以添加基础认证修改chatgpt-web服务环境变量environment: AUTH_SECRET_KEY: your-secret-key AUTH_USERNAME: admin AUTH_PASSWORD: securepassword重新部署服务docker-compose up -d现在访问Web界面时需要输入用户名和密码。在实际使用中我发现将Ollama与ChatGPT-Web结合的最大优势在于它的响应速度和隐私保护。不同于云端服务所有数据处理都在本地完成特别适合处理敏感信息或需要快速响应的场景。对于开发者来说这个方案也提供了极大的灵活性可以随时切换不同的模型进行测试。