ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

lanhu-mcp Docker 部署全指南:从 .env 配置到生产环境反向代理

lanhu-mcp Docker 部署全指南:从 .env 配置到生产环境反向代理 MCP 服务人工智能AI 应用【免费下载链接】lanhu-mcp⚡ 需求分析效率提升 200%全球首个为 AI 编程时代设计的团队协作 MCP 服务器自动分析需求自动编写前后端代码下载切图项目地址https://gitcode.com/gh_mirrors/la/lanhu-mcp点击查看免费下载本指南围绕 lanhu-mcp 的容器化部署全流程展开覆盖 Docker / Docker Compose 两种启动方式、环境变量配置、健康检查验证、AI 客户端接入Cursor、Claude Desktop、日常运维命令、故障排查、数据备份与生产环境加固。读完本文你将能够独立完成 lanhu-mcp 从拿一个 Cookie 起服务到反向代理 HTTPS 上生产的完整部署并理解每个配置项在底层源码中的真实作用。一、部署前准备1.1 系统要求按照 DEPLOY.md 的说明部署前请确认本机满足以下最低条件项目要求Docker20.10Docker Compose2.0可用磁盘空间至少 2GB含 Playwright Chromium 浏览器、Python 依赖及截图缓存磁盘空间的占用来源主要有三块python:3.12-slim-bookworm基础镜像与 Python 依赖、playwright install --with-deps chromium安装的 Chromium 浏览器见 Dockerfile以及运行后产生的data/资源下载、截图缓存与logs/应用日志目录。1.2 确认配置.env文件lanhu-mcp 通过环境变量完成全部配置。仓库提供了模板文件 config.example.env首次部署时先复制为.env再填写你的蓝湖 Cookiecp config.example.env .env.env中各项配置的默认值与作用如下均可直接对照源码 lanhu_mcp_server.py 中的os.getenv读取逻辑验证变量是否必需默认值说明LANHU_COOKIE必需无蓝湖登录 Cookie所有请求蓝湖 API 的身份凭证。获取方法见 GET-COOKIE-TUTORIAL.mdSERVER_HOST可选0.0.0.0服务监听地址仅本地访问可改为127.0.0.1SERVER_PORT可选8000服务监听端口FEISHU_WEBHOOK_URL可选空飞书机器人 Webhook用于团队协作通知与 提醒留空则禁用DATA_DIR可选./data数据存储目录留言、设计资源、截图缓存HTTP_TIMEOUT可选30对外 HTTP 请求超时秒数网络慢时建议调大VIEWPORT_WIDTH可选1920浏览器视口宽度影响页面初始渲染不影响截图完整性VIEWPORT_HEIGHT可选1080浏览器视口高度同上DEBUG可选false设为true输出更详细的调试日志其中VIEWPORT_WIDTH/VIEWPORT_HEIGHT在源码中直接决定 Playwright 创建浏览器页面时的 viewport 尺寸见 lanhu_mcp_server.py而截图采用full_pageTrue全页模式因此调整视口不会裁剪截图内容。LANHU_COOKIE在源码中通过COOKIE os.getenv(LANHU_COOKIE, DEFAULT_COOKIE)lanhu_mcp_server.py读取贯穿所有蓝湖 API 请求。⚠️ 安全提示.env内含真实 Cookie务必加入.gitignore不要提交到代码仓库。二、快速部署2.1 方式一使用 Docker Compose推荐仓库根目录已提供 docker-compose.yml无需额外编写即可一键启动# 1. 构建并启动服务 docker-compose up -d # 2. 查看服务状态 docker-compose ps # 3. 查看实时日志 docker-compose logs -f lanhu-mcp # 4. 检查服务是否正常运行 curl http://localhost:8000/healthCompose 文件的核心编排逻辑docker-compose.ymlbuild.context: .dockerfile: Dockerfile基于当前仓库目录构建镜像container_name: lanhu_mcp_service固定容器名便于管理restart: unless-stopped容器异常退出时自动重启env_file: .env从.env注入全部环境变量ports: 8000:8000宿主机 8000 端口映射到容器 8000 端口volumes将./data、./logs挂载到容器内/app/data、/app/logs实现数据持久化。Compose 中的environment段会覆盖.env中的同名变量注释也明确说明了这一点docker-compose.yml如非必要可删除这些行。2.2 方式二使用 Docker 命令不依赖 Compose 时可以手动构建并运行# 1. 构建镜像 docker build -t lanhu-mcp-server . # 2. 运行容器 docker run -d \ --name lanhu-mcp \ -p 8000:8000 \ --env-file .env \ -v $(pwd)/data:/app/data \ -v $(pwd)/logs:/app/logs \ --restart unless-stopped \ lanhu-mcp-server # 3. 查看日志 docker logs -f lanhu-mcp # 4. 检查服务状态 docker ps | grep lanhu-mcp镜像构建过程由 Dockerfile 定义基于python:3.12-slim-bookworm安装pyproject.toml声明的lanhu-mcp-server分发包控制台入口lanhu-mcp lanhu_mcp_server:main见 pyproject.toml并执行playwright install --with-deps chromium预装 Chromium。容器启动命令为CMD [lanhu-mcp, --transport, http, --host, 0.0.0.0]对应源码入口 lanhu_mcp_server.py 的main()函数--transport支持http/stdio两种传输模式默认取环境变量MCP_TRANSPORT--host与--port分别默认读取SERVER_HOST、SERVER_PORT。三、验证部署3.1 检查服务健康状态curl http://localhost:8000/health # 预期响应: {status: ok} 或类似的健康检查响应3.2 访问 MCP 端点MCP 服务的 HTTP 端点在源码中固定注册为路径/mcpmcp.run(transporthttp, path/mcp, ...)见 lanhu_mcp_server.py通过 URL 查询参数传入协作身份curl http://localhost:8000/mcp?roleDevelopernameTestUserrole与name两个参数在服务端通过 FastMCP 的get_http_request()读取lanhu_mcp_server.pyrole还会经过normalize_role()归一化lanhu_mcp_server.py支持 php后端、iOS开发 等中文变体自动映射到标准角色。3.3 查看日志确认# Docker Compose docker-compose logs lanhu-mcp | grep Server started # 或 Docker docker logs lanhu-mcp | grep Server started服务启动时main()还会向终端打印一段可直接粘贴的 Cursor MCP 配置示例lanhu_mcp_server.pyURL 中的端口会自动带上.env里配置的SERVER_PORT非常便于快速接入客户端。四、连接 AI 客户端4.1 Cursor 配置在 Cursor 的设置中添加 MCP 服务器配置。配置文件位置因操作系统而异macOS~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonWindows%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonLinux~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json配置内容{ mcpServers: { lanhu: { url: http://localhost:8000/mcp?roleBackendnameJohn } } }参数说明role你的角色Backend/Frontend/Tester/Product等用于团队协作时的消息分组与 提醒name你的姓名用于团队协作和 提醒⚠️兼容性提示部分 AI 开发工具不支持 URL 中文参数建议使用英文这也是 docker-compose.yml 注释中的官方建议。4.2 Claude Desktop 配置编辑配置文件~/Library/Application Support/Claude/claude_desktop_config.json{ mcpServers: { lanhu: { url: http://localhost:8000/mcp?roleDevelopernameJane } } }4.3 其他客户端与 stdio 模式除 HTTP 传输外源码入口还支持--transport stdio或设置MCP_TRANSPORTstdio此时服务可由 MCP 客户端按需拉起适合不支持 HTTP MCP 的客户端lanhu_mcp_server.py。需要说明的是镜像默认以 HTTP 模式启动stdio 模式通常用于本地非容器化运行场景。五、常用管理命令日常运维中最常用的命令一览Compose 与裸 Docker 两种语法等价# 查看服务状态 docker-compose ps # 或 docker ps | grep lanhu-mcp # 查看实时日志 docker-compose logs -f lanhu-mcp # 最近100行日志 docker-compose logs --tail100 lanhu-mcp # 或 docker logs --tail100 lanhu-mcp # 重启服务 docker-compose restart lanhu-mcp # 或 docker restart lanhu-mcp # 停止服务 docker-compose stop lanhu-mcp # 或 docker stop lanhu-mcp # 停止并删除容器 docker-compose down # 或 docker rm -f lanhu-mcp # 重新构建并启动 docker-compose up -d --build # 或分步操作 docker-compose build docker-compose up -d # 进入容器调试 docker-compose exec lanhu-mcp /bin/bash # 或 docker exec -it lanhu-mcp /bin/bash注意docker-compose down会删除容器但不会删除挂载的data/与logs/卷目录因此数据不会丢失docker rm -f同理如需彻底清理数据请手动处理宿主机上的挂载目录。六、故障排查6.1 容器无法启动检查日志docker-compose logs lanhu-mcp常见原因Cookie 格式错误LANHU_COOKIE缺失或格式不正确导致启动后所有蓝湖 API 请求鉴权失败端口被占用修改.env中的SERVER_PORT或调整 Compose 端口映射后重启系统资源不足构建或运行阶段内存/磁盘不足Docker 会直接报错退出。6.2 Cookie 失效症状请求返回 401 或 403 错误。解决方法重新登录蓝湖网页版获取新的 Cookie步骤详见 GET-COOKIE-TUTORIAL.md更新.env文件重启服务docker-compose restart lanhu-mcp6.3 端口冲突8000 端口被占用时有两种改法方式一修改.env文件SERVER_PORT8001方式二修改 docker-compose.ymlports: - 8001:8000 # 宿主机8001端口映射到容器8000端口方式二只改宿主机映射端口容器内部仍是 8000与 Dockerfile 的EXPOSE 8000保持一致。无论哪种方式改完后都要同步更新 AI 客户端配置中的连接 URL。6.4 Playwright 浏览器问题截图功能异常时通常是容器内 Chromium 缺失或依赖损坏# 进入容器 docker-compose exec lanhu-mcp /bin/bash # 重新安装浏览器 playwright install chromium playwright install-deps chromium # 退出并重启 exit docker-compose restart lanhu-mcp正常情况下 Chromium 在镜像构建阶段已通过playwright install --with-deps chromium安装完成Dockerfile并固定安装到/opt/playwright由环境变量PLAYWRIGHT_BROWSERS_PATH指定Dockerfile无需重复安装。6.5 数据持久化问题确认数据目录挂载正确# 检查挂载 docker-compose exec lanhu-mcp ls -la /app/data # 检查宿主机目录权限 ls -la ./data ls -la ./logs # 如果权限有问题 chmod -R 755 ./data ./logs从源码看DATA_DIR下主要存放三类数据团队留言记录data/messages/lanhu_mcp_server.py、Axure 资源与截图data/axure_extract_*lanhu_mcp_server.py、设计资源data/lanhu_designs/lanhu_mcp_server.py。这些目录在镜像构建时已由 Dockerfile 创建mkdir -p /app/data /app/logsDockerfile挂载后数据不会因容器重启而丢失。七、数据备份7.1 备份数据# 备份数据目录留言、设计资源、截图缓存 tar -czf lanhu-mcp-backup-$(date %Y%m%d).tar.gz data/ logs/ # 只备份留言数据 tar -czf lanhu-messages-backup-$(date %Y%m%d).tar.gz data/messages/7.2 恢复数据# 停止服务 docker-compose stop lanhu-mcp # 恢复数据将备份解压回 data/、logs/ 对应位置 tar -xzf lanhu-mcp-backup-20241217.tar.gz # 启动服务 docker-compose start lanhu-mcp恢复时务必先停服务再解压避免容器运行中写入造成文件冲突data/messages/是团队协作留言的核心数据建议单独纳入备份策略。八、安全建议Cookie 安全定期更换 Cookie建议每月一次确保.env文件不被提交到 Git仓库已在 config.example.env 和 docker-compose.yml 中多次强调设置严格的文件权限chmod 600 .env。网络安全如果只需本地访问将SERVER_HOST改为127.0.0.1仅本机可连生产环境建议配置反向代理Nginx并启用 HTTPS使用防火墙限制访问来源仅放行内网/白名单 IP。数据安全定期备份data/messages/目录敏感项目数据不要保留太久定期清理缓存rm -rf data/lanhu_designs/* data/axure_extract_*。注SERVER_HOST、SERVER_PORT在源码中通过--host/--port参数读取环境变量生效lanhu_mcp_server.py改配置后必须重启容器才生效。九、更新服务与回滚9.1 更新到最新版本# 1. 停止服务 docker-compose down # 2. 拉取最新代码 git pull origin main # 3. 重新构建并启动 docker-compose up -d --build # 4. 查看日志确认 docker-compose logs -f lanhu-mcp更新前建议先备份data/与logs/见第七章版本演进信息可参考仓库根目录的 CHANGELOG.md 与各版本 RELEASE_NOTES 文件。9.2 回滚到旧版本# 1. 停止服务 docker-compose down # 2. 切换到指定版本 git checkout v1.0.0 # 替换为实际版本号 # 3. 重新构建并启动 docker-compose up -d --build回滚前同样建议备份数据目录回滚后可用docker-compose logs -f lanhu-mcp观察是否出现数据格式不兼容等异常。十、性能优化10.1 调整资源限制在 docker-compose.yml 中添加资源限制防止服务占用过多宿主资源services: lanhu-mcp: # ... 其他配置 deploy: resources: limits: cpus: 2 memory: 2G reservations: cpus: 1 memory: 1G截图类工具由 Playwright 驱动 Chromium内存占用波动较大memory: 2G的上限对常规团队使用较为稳妥。10.2 清理缓存# 清理超过30天未修改的旧截图缓存 docker-compose exec lanhu-mcp find /app/data/lanhu_designs -type f -mtime 30 -delete # 清理超过30天未修改的 Axure 资源缓存 docker-compose exec lanhu-mcp find /app/data/axure_extract_* -type f -mtime 30 -delete10.3 查看资源使用情况# 查看容器实时资源使用 docker stats lanhu-mcp # 查看磁盘占用明细 du -sh data/* logs/*十一、生产环境部署建议11.1 使用 Nginx 反向代理nginx.conf示例server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 增加超时时间用于长时间的截图操作 proxy_read_timeout 300s; proxy_connect_timeout 75s; } }截图与 Axure 页面分析属于耗时操作因此proxy_read_timeout建议放宽到 300s否则 Nginx 会在服务端完成截图前就断开连接。11.2 启用 HTTPS使用 Lets Encrypt 免费证书# 安装 certbot sudo apt-get install certbot python3-certbot-nginx # 获取证书 sudo certbot --nginx -d your-domain.com # 自动续期 sudo certbot renew --dry-run启用 HTTPS 后AI 客户端的 MCP URL 需同步改为https://your-domain.com/mcp?role...name...。11.3 配置日志轮转创建/etc/logrotate.d/lanhu-mcp/path/to/lanhu-mcp/logs/*.log { daily rotate 7 compress delaycompress missingok notifempty create 0640 root root }logs/目录由服务持续写入长期不轮转会持续膨胀配合 Docker 挂载卷./logs:/app/logs宿主机侧用 logrotate 即可完成清理。十二、使用技巧12.1 多环境部署复制并修改配置文件用--env-file指定不同环境的配置# 开发环境 cp .env .env.dev # 生产环境 cp .env .env.prod # 使用指定配置启动 docker-compose --env-file .env.dev up -d12.2 查看 MCP 工具列表curl http://localhost:8000/mcp?roleDevelopernameTest | jq .tools[].name返回的 tools 列表即服务暴露给 AI 客户端的全部能力设计稿解析、切图下载、Axure 页面提取、需求留言等可用jq快速确认接入是否成功。12.3 监控服务健康创建简单的健康检查脚本health-check.sh#!/bin/bash STATUS$(curl -s -o /dev/null -w %{http_code} http://localhost:8000/mcp) if [ $STATUS -eq 200 ]; then echo ✅ Service is healthy exit 0 else echo ❌ Service is down (HTTP $STATUS) exit 1 fi配置 crontab 定时检查# 每5分钟检查一次失败自动重启服务 */5 * * * * /path/to/health-check.sh || docker-compose restart lanhu-mcp十三、相关文档README.md - 项目概述和功能介绍GET-COOKIE-TUTORIAL.md - 蓝湖 Cookie 获取图文教程config.example.env - 环境变量配置模板与逐项说明docker-compose.yml - Compose 编排文件含完整使用说明注释Dockerfile - 镜像构建定义lanhu_mcp_server.py - 服务入口与核心实现CHANGELOG.md - 更新日志CONTRIBUTING.md - 贡献指南如遇文档未能覆盖的问题建议按以下顺序排查先docker-compose logs -f lanhu-mcp查看实时日志再对照本文档的故障排查章节逐项核对最后可在仓库的 Issue 区提交问题附上相关日志片段有助于快速定位。赞分享MCP 服务人工智能AI 应用【免费下载链接】lanhu-mcp⚡ 需求分析效率提升 200%全球首个为 AI 编程时代设计的团队协作 MCP 服务器自动分析需求自动编写前后端代码下载切图项目地址https://gitcode.com/gh_mirrors/la/lanhu-mcp点击查看免费下载相关推荐3步免费让老Mac运行最新macOS3步免费让老Mac运行最新macOS 苹果停更后老 Mac 想升级 macOS 只剩两条路继续忍旧系统或免费把最新系统装回去。OpenCore Legac操作系统固件驱动开发如何使用Nginx反向代理部署WebSSH生产环境完整配置指南如何使用Nginx反向代理部署WebSSH生产环境完整配置指南 WebSSH是一款功能强大的基于Web的SSH客户端它允许用户通过浏览器安全地访问远程服务器后端运维网络安全MindIE/stable_diffusion_v1.5批量生成教程如何高效处理1000图像任务MindIE/stable_diffusion_v1.5批量生成教程如何高效处理1000图像任务 MindIE/stable_diffusion_v1.5是上一篇AlgoNote 图论系列广度优先搜索BFS算法原理、队列实现与 LeetCode 实战下一篇Cycle.js响应式应用监控终极指南集成Sentry与Datadog实现专业错误追踪创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表