部署指南阅读约 1 分钟7 种语言

使用 Docker Compose 部署 AnythingMCP

逐步指南,介绍如何在任何 Linux 服务器上使用 Docker Compose 部署 AnythingMCP,并通过 Caddy 反向代理实现自动 SSL。

HC作者:HelpCode 团队更新于 1 分钟阅读 在 GitHub 开源

无需信用卡 · 7 天试用 · 提供自托管方案

  • 7 天免费试用
    无需信用卡
  • 符合 GDPR,SOC 2 就绪
    数据驻留欧盟,审计日志
  • 在 GitHub 开源
    开源 · AGPL-3.0
  • 支持 ChatGPT、Claude、Gemini
    任何兼容 MCP 的客户端

摘要

逐步指南,介绍如何在任何 Linux 服务器上使用 Docker Compose 部署 AnythingMCP,并通过 Caddy 反向代理实现自动 SSL。

先决条件

在开始之前,请确保你的服务器具备以下条件:

  • Docker 和 Docker Compose 已安装
  • 端口 80 和 443 已开放(如果使用 HTTPS)
  • 指向你服务器的域名(可选,SSL 所需)

克隆并运行设置

git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp
bash setup.sh

交互式向导将引导你完成以下步骤:

  1. 部署模式 — 选择 Docker(推荐)
  2. 域名和端口 — 输入你的域名以通过 Caddy 自动启用 HTTPS
  3. MCP 认证 — OAuth 2.0、API 密钥或两者
  4. 电子邮件 (SMTP) — 可选,用于验证和密码重置
  5. Redis — 可选,用于速率限制和缓存

所有密钥(JWT、加密密钥、数据库密码)将自动生成。

setup.sh 的作用

该脚本处理完整的部署流程:

  • 生成带有安全随机密钥的 .env
  • 创建用于自动获取 Let's Encrypt SSL 的 Caddyfile(当提供域名时)
  • 可选地通过 docker-compose.override.yml 添加 Redis
  • 运行 docker compose up -d --build 启动所有服务

该应用程序作为一个单一容器运行,包含 NestJS 后端(端口 4000)和 Next.js 前端(端口 3000),以及 PostgreSQL 17。

使用 Caddy 的 HTTPS

当你在设置过程中输入真实域名时,Caddy 将自动配置:

  • 应用程序端口仅绑定到 127.0.0.1(不公开暴露)
  • Caddy 处理所有在端口 80 和 443 上的流量
  • SSL 证书由 Let's Encrypt 提供和续订

无需手动管理证书。

验证部署

检查所有容器是否正在运行:

docker compose ps

验证后端健康状况:

curl http://localhost:4000/health

打开仪表板:

  • 使用 Caddy: https://yourdomain.com
  • 不使用 Caddy: http://your-server-ip:3000

第一个注册的用户将成为管理员。

更新 AnythingMCP

git pull
docker compose up -d --build

数据库迁移将在启动时自动运行。

故障排除

端口冲突

sudo lsof -i :80
sudo lsof -i :443

停止冲突服务或禁用 Caddy 以直接在端口 3000/4000 上访问应用程序。

数据库问题

如果你在 .env 中更改了凭据,请重置数据库卷:

docker compose down -v
docker compose up -d

检查日志

docker compose logs -f        # 所有服务
docker compose logs -f app    # 仅应用程序
docker compose logs -f caddy  # 仅 Caddy

Caddy 证书问题

确保你的域名 A 记录指向服务器,并且端口 80/443 可访问以进行 ACME 挑战。

这份指南对你有帮助吗?

60 秒内把 MCP 接入你的技术栈。

在托管云上启动 AnythingMCP,或在你自己的基础设施上自托管。免费试用 7 天,无需信用卡。

相关指南