article
README
🚀 MCP 服务器与 Docker、Redis 和 TimescaleDB
本仓库借助 Docker、Redis 和 TimescaleDB 搭建了一个 模型上下文协议 (MCP) 服务器,可实现高效的数据管理。
🚀 快速开始
先决条件
- 已安装 Docker 和 Docker Compose。
- 安装版本控制工具 Git。
- 建议安装 Zsh 和 Oh-My-Zsh(可选,用于增强 shell 体验)。
设置步骤
- 克隆仓库:
git clone https://github.com/chuckwilliams37/mcp-server-docker.git cd mcp-server-docker - 配置环境变量:
您可按需修改cp .env.example .env.env文件。 - 构建并启动容器:
docker compose build docker compose up -d - 访问 MCP 服务器:
http://localhost:8080
重启后自动恢复
创建 systemd 服务以保持应用程序运行:
sudo nano /etc/systemd/system/mcp-docker.service
粘贴以下内容:
[Unit]
Description=MCP Docker Compose App
Requires=docker.service
After=docker.service
[Service]
WorkingDirectory=/home/youruser/mcp-server-docker
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
Restart=always
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable mcp-docker
sudo systemctl start mcp-docker
✨ 主要特性
- FastAPI:作为 MCP 服务器的网络框架。
- Redis:提供缓存机制。
- TimescaleDB:基于 PostgreSQL 的时间序列数据库。
- Docker Compose:调度多容器 Docker 应用程序。
- 环境变量:通过
.env文件进行配置。 - Systemd 服务:确保服务器在重启后自动启动。
📚 详细文档
📂 仓库结构
mcp-server-docker/
├── app/
│ └── app.py
├── .env.example
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── scripts/
│ ├── bootstrap-mcp.sh
│ ├── full-bootstrap-mcp.sh
│ ├── init-repo.sh
│ ├── push-repo.sh
│ └── setup-mcpserver.sh
└── README.md
🧪 脚本工具
scripts/ 目录包含用于自动化基础设施任务的实用脚本。
🛠️ scripts/full-bootstrap-mcp.sh
💡 适用于新 Ubuntu 虚拟机,用于准备部署 MCP 的完整流程。它会:
- 安装系统依赖(Docker、Git、Zsh、UFW、Fail2Ban 等)
- 设置
oh-my-zsh并启用jonathan主题 - 配置远程桌面环境(XFCE + XRDP)
- 克隆 MCP 仓库
- 使用
docker compose构建并启动应用程序 - 添加 systemd 服务以在重启后恢复容器
chmod +x scripts/full-bootstrap-mcp.sh
./scripts/full-bootstrap-mcp.sh
📜 scripts/init-repo.sh
用于初始化代码仓库:
chmod +x scripts/init-repo.sh
./scripts/init-repo.sh
📝 scripts/push-repo.sh
将代码推送到远程仓库:
chmod +x scripts/push-repo.sh
./scripts/push-repo.sh
🔧 scripts/setup-mcpserver.sh
配置 MCP 服务器环境:
chmod +x scripts/setup-mcpserver.sh
./scripts/setup-mcpserver.sh
📄 注意事项
⚠️ 重要提示
- 确保所有脚本在运行前都已赋予可执行权限。
- 根据实际需求调整
.env文件中的配置。- 使用
docker compose down关闭容器时,确保不会丢失未保存的数据。
希望这些指南能帮助您顺利部署和管理 MCP 服务器!
Scan to join WeChat group