Wiki服务容器化部署

使用Docker Compose部署MediaWiki与MariaDB,支持AI助手通过VS Code交互的Wiki服务解决方案,适用于知识管理与协作开发场景。

  • by JustinJmnz
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 JustinJmnz/mediawiki-mcp

使用说明

MediaWiki与MariaDB Docker安装

此Docker Compose配置使用MariaDB(MySQL)数据库后端运行MediaWiki,非常适合开发MediaWiki MCP服务器应用程序。

先决条件

  • Docker守护进程正在运行(Docker桌面、WSL 2上的Docker引擎或类似程序)
  • Docker Compose(包含在Docker桌面中)
  • 至少2GB的可用磁盘空间

MCP服务器功能

MediaWiki MCP服务器是一个。NET 8.0模型上下文协议实现,使AI助手能够通过VS Code与您的MediaWiki实例进行交互。

可用工具(共10个)

只读访问(6个工具):

  • search_pages -按关键字搜索wiki页面
  • get_page_content -检索整页内容
  • get_page_info -获取页面元数据(ID、长度、修订)
  • list_all_pages -浏览所有已发布的页面
  • get_recent_changes -查看最近的编辑
  • get_site_info -检索wiki配置

草案管理(4个工具):

  • create_draft_page -在草稿命名空间中创建新内容以供审阅
  • edit_draft_page -根据反馈修改现有草稿
  • publish_draft -将已批准的内容移动到主命名空间
  • delete_page -删除不合适或被拒绝的页面

工作流程草案

人工智能创建的所有内容都会发送到 Draft: 默认命名空间:

  1. 审查:导航到 http://localhost/wiki/Draft:Page_Name
  2. 批准:使用 publish_draft 移动到主命名空间的工具
  3. 修订:使用 edit_draft_page 请求更改
  4. 拒绝:使用 delete_page 删除不合适的内容

快速开始

重要提示: 在继续之前,请确保Docker守护进程正在运行。如果出现“系统找不到文件”错误,Docker守护进程将无法访问。你可以:

  • 启动Docker桌面,或
  • 在WSL 2/您的系统上启动Docker守护进程
  • 等待2-3分钟以完全启动

然后启动服务:

docker-compose up -d
  1. 等待服务准备就绪:
docker-compose ps

这两个服务都应该显示为“正在运行”。

  1. 访问MediaWiki: 打开浏览器并导航到 http://localhost

  2. 登录凭据:

  • 用户名: admin
  • 密码: Password123!

在VS代码中设置MCP服务器

  1. 安装MCP扩展:

    • 开放VS代码扩展(Ctrl+Shift+X)
    • 搜索并安装“MCP扩展”(按ModelContextProtocol)
  2. 配置MCP服务器:

    • 打开VS代码设置(Ctrl+,)
    • 搜索“mcp.json”或导航到您的mcp扩展设置
    • 添加此配置:
{
  "servers": {
    "media-wiki": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "c:\\Users\\Justi\\source\\repos\\mediawiki-mcp\\MediaWikiMCP"
      ],
      "env": {
        "MEDIAWIKI_URL": "http://localhost"
      }
    }
  }
}

注: 更新路径以匹配您的安装目录。

  1. 验证连接:
    • 重新启动VS Code或重新加载窗口(Ctrl+R)
    • 打开MCP扩展面板
    • 您应该看到“媒体维基”列出了10个可用工具(6个只读+4个草稿管理)

服务

MariaDB(端口3306)

  • 容器名称: 媒体维基mariadb
  • 根密码: 根密码123
  • 数据库: 维基百科
  • 数据库用户: 维基百科
  • 数据库密码: Mediawikipass 123!
  • 体积: mariadb_data(持久化数据库)

MediaWiki(端口80)

  • 容器名称: 维基百科
  • 网址: http://localhost
  • 管理员用户: 管理员
  • 管理员密码: 密码123!
  • 体积: mediawiki_data(保存wiki文件和图像)

有用的命令

查看日志

# All services
docker-compose logs -f

# Specific service
docker-compose logs -f mediawiki
docker-compose logs -f mariadb

访问MariaDB

docker exec -it mediawiki-mariadb mysql -u mediawiki -p mediawiki

然后输入密码: MediaWikiPass123!

停止服务

docker-compose down

停止并删除卷(白板)

docker-compose down -v

重建图像

docker-compose down
docker-compose build --no-cache
docker-compose up -d

配置

  • 本地设置.php: MediaWiki主配置文件
  • docker-compose.yml: Docker服务定义

修改 LocalSettings.php 自定义MediaWiki设置。重新启动容器后更改生效。

故障排除

检查日志: docker-compose logs mediawiki 或 docker-compose logs mariadb