mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-13 00:13:33 +08:00
GoNavi MCP Server Podman 示例
这个目录提供 gonavi-mcp-server 的 Podman 原生部署入口,覆盖两类常见场景:
- 直接用
podman run在 Linux 服务器 / NAS 上启动 - 用 rootless Quadlet + systemd 做常驻服务
目录内容:
gonavi-mcp-server.env.example:给podman run/ Quadlet 共用的容器环境变量示例gonavi-mcp-server.container:Quadlet 示例
前提仍然一样:宿主机 GoNavi 活动数据目录内至少应包含:
connections.jsondaily_secrets.json
如果目标连接依赖可选 driver agent,还要保证同一数据目录下已有 drivers/。
1. 直接运行已发布镜像
cp deploy/podman/gonavi-mcp-server/gonavi-mcp-server.env.example ./gonavi-mcp-server.env
把 GONAVI_MCP_HTTP_TOKEN 改成随机值后运行:
podman run -d --name gonavi-mcp-server --replace \
-p 8765:8765 \
--env-file ./gonavi-mcp-server.env \
-v /absolute/path/to/gonavi-data:/data:Z \
ghcr.io/syngnat/gonavi-mcp-server:latest http
查看状态:
podman ps
podman logs -f gonavi-mcp-server
如果你的宿主机没有启用 SELinux,可把挂载参数末尾的 :Z 去掉;如果启用了 SELinux,建议保留它。
2. 本地源码构建镜像
仓库根目录已经提供 .containerignore,Podman 会优先读取它来裁剪构建上下文。
podman build -f Dockerfile.mcp-server -t localhost/gonavi-mcp-server:local .
podman run -d --name gonavi-mcp-server --replace \
-p 8765:8765 \
--env-file ./gonavi-mcp-server.env \
-v /absolute/path/to/gonavi-data:/data:Z \
localhost/gonavi-mcp-server:local http
3. Rootless Quadlet 常驻服务
Podman Quadlet 适合 Linux 服务器 / NAS 上做 rootless 常驻服务。
把文件放到用户级目录:
mkdir -p ~/.config/containers/systemd
cp deploy/podman/gonavi-mcp-server/gonavi-mcp-server.container ~/.config/containers/systemd/
cp deploy/podman/gonavi-mcp-server/gonavi-mcp-server.env.example ~/.config/containers/systemd/gonavi-mcp-server.env
然后修改两处:
~/.config/containers/systemd/gonavi-mcp-server.container里的Volume=/absolute/path/to/gonavi-data:/data:Z~/.config/containers/systemd/gonavi-mcp-server.env里的GONAVI_MCP_HTTP_TOKEN
启动服务:
systemctl --user daemon-reload
systemctl --user enable --now gonavi-mcp-server.service
systemctl --user status gonavi-mcp-server.service
journalctl --user -u gonavi-mcp-server.service -f
如果你希望用户退出登录后服务仍然保持运行,再执行:
loginctl enable-linger "$USER"
Rootless Quadlet 默认搜索路径是 ~/.config/containers/systemd/;如果你要做系统级 rootful 部署,可改放到 /etc/containers/systemd/。
4. 关于 Compose
Podman 的 podman compose 依赖外部 compose provider。也就是说,是否能直接复用仓库根目录的 docker-compose.mcp-server.yml,取决于你的 Podman 环境是否已经安装并配置了对应 provider。
因此,这个仓库对 Podman 的主支持路径是:
podman run- Quadlet(推荐长期运行)
如果你的环境已经有可用的 compose provider,再去复用根目录 Compose 文件即可。