5.6 KiB
5.6 KiB
远程服务配置迁移指南
📋 变更概述
从 2026-04-15 起,项目已将 PostgreSQL 和 Qdrant 服务迁移到远程服务器(115.190.121.151),本地开发环境不再需要运行这些服务的容器。
🌐 远程服务地址
| 服务 | 远程地址 | 端口 | 说明 |
|---|---|---|---|
| PostgreSQL | 115.190.121.151 |
5432 |
LangGraph 状态持久化 |
| Qdrant | 115.190.121.151 |
6333 |
Mem0 向量数据库 |
🔧 已修改的配置文件
1. .env - 本地开发配置
# 之前(本地容器)
QDRANT_URL=http://localhost:6333
DB_URI=postgresql://postgres:mysecretpassword@localhost:5432/langgraph_db?sslmode=disable
# 现在(远程服务器)
QDRANT_URL=http://115.190.121.151:6333
DB_URI=postgresql://postgres:mysecretpassword@115.190.121.151:5432/langgraph_db?sslmode=disable
2. .env.docker - Docker Compose 配置
# 之前(Docker 内部网络)
QDRANT_URL=http://qdrant:6333
DB_URI=postgresql://postgres:mysecretpassword@postgres:5432/langgraph_db?sslmode=disable
# 现在(远程服务器)
QDRANT_URL=http://115.190.121.151:6333
DB_URI=postgresql://postgres:mysecretpassword@115.190.121.151:5432/langgraph_db?sslmode=disable
3. docker/docker-compose.yml - Docker Compose 编排
# ❌ 已移除的服务
# postgres:
# image: postgres:16
# ...
# qdrant:
# image: qdrant/qdrant:latest
# ...
# ✅ backend 服务配置更新
backend:
environment:
- DB_URI=postgresql://postgres:mysecretpassword@115.190.121.151:5432/langgraph_db?sslmode=disable
- QDRANT_URL=http://115.190.121.151:6333
# ⭐ 移除了 depends_on (postgres, qdrant)
🚀 使用方式
本地开发(直接运行 Python)
# 1. 确保 .env 文件已更新(已完成)
cat .env | grep -E "(QDRANT_URL|DB_URI)"
# 2. 启动后端服务
python app/backend.py
# 3. 启动前端服务
cd frontend && streamlit run app.py
Docker Compose 部署
# 1. 确保 .env.docker 文件已更新(已完成)
cp .env.docker .env
# 2. 启动服务(仅 backend 和 frontend)
cd docker
docker compose up -d
# 3. 查看日志
docker compose logs -f backend
⚠️ 注意事项
1. 网络连接
- 确保本地机器可以访问
115.190.121.151的5432和6333端口 - 测试连接:
# 测试 PostgreSQL psql -h 115.190.121.151 -U postgres -d langgraph_db # 测试 Qdrant curl http://115.190.121.151:6333/collections
2. 防火墙配置
如果无法连接,检查远程服务器的防火墙规则:
# 在远程服务器上执行
sudo ufw allow 5432/tcp
sudo ufw allow 6333/tcp
sudo ufw reload
3. 数据持久化
- PostgreSQL 数据存储在远程服务器的
~/docker_volumes/postgres_data - Qdrant 数据存储在远程服务器的
~/docker_volumes/qdrant_storage - 无需在本地维护数据卷
4. 备份与恢复
如需备份远程数据库:
# 备份 PostgreSQL
pg_dump -h 115.190.121.151 -U postgres langgraph_db > backup_$(date +%Y%m%d).sql
# 备份 Qdrant(通过 API 导出集合)
curl http://115.190.121.151:6333/collections/mem0_user_memories/snapshot > snapshot.zip
🔄 回滚到本地容器(可选)
如果需要使用本地容器进行测试,可以:
-
修改
.env文件:QDRANT_URL=http://localhost:6333 DB_URI=postgresql://postgres:mysecretpassword@localhost:5432/langgraph_db?sslmode=disable -
启动本地容器:
docker run -d --name qdrant_server -p 6333:6333 qdrant/qdrant docker run -d --name ai-postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=langgraph_db -p 5432:5432 postgres:16 -
初始化数据库表:
python scripts/init_db.py
📊 架构对比
之前(本地容器)
┌─────────────┐ ┌──────────┐ ┌──────────┐
│ Frontend │────▶│ Backend │────▶│ Postgres │ (localhost:5432)
│ :8501 │ │ :8001 │ └──────────┘
└─────────────┘ └──────────┘ ┌──────────┐
│ Qdrant │ (localhost:6333)
└──────────┘
现在(远程服务)
┌─────────────┐ ┌──────────┐ ┌──────────────────┐
│ Frontend │────▶│ Backend │────▶│ Remote Services │
│ :8501 │ │ :8001 │ │ │
└─────────────┘ └──────────┘ │ • Postgres │
│ (115.190.121.151:5432)
│ • Qdrant │
│ (115.190.121.151:6333)
└──────────────────┘
✅ 验证清单
.env文件已更新为远程地址.env.docker文件已更新为远程地址.env.example模板已更新docker-compose.yml已移除 postgres 和 qdrant 服务- 远程服务器上的服务正常运行
- 本地可以连接到远程 PostgreSQL
- 本地可以连接到远程 Qdrant
- 应用功能测试通过
最后更新: 2026-04-15
维护者: AI Agent Team