Files
openclaw-memory/DEPLOY.md
道童 5eb24ed3e2 docs: 更新文档(README.md 和 DEPLOY.md)
更新内容:

1. README.md
- 重新组织文档结构
- 新增核心特性详细说明
- 新增完整 API 文档
- 新增常见问题 FAQ
- 新增 .lobsterignore 管理接口文档
- 简化快速开始流程
- 突出丝滑前端体验

2. DEPLOY.md(全新部署文档)
- 完整的系统要求(最低/推荐配置)
- 详细的环境准备(Docker、Git、Nginx)
- 快速部署指南
- 生产环境部署(Nginx + HTTPS)
- 数据库管理(连接、SQL 命令、性能优化)
- 监控与维护(日志、资源使用、健康检查)
- 完整的故障排查指南(5 个常见问题)
- 备份与恢复(数据库备份、配置备份)
- 性能优化(数据库、Nginx、Docker)
- 安全加固(密码更新、防火墙、SELinux)
- 维护清单(每日/每周/每月)

文档特点:
- 结构清晰,易于查找
- 命令示例完整,可直接复制使用
- 包含生产环境最佳实践
- 覆盖常见问题和解决方案
2026-04-05 14:39:00 +00:00

1100 lines
21 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 龙虾记忆同步系统 - 部署文档
完整的部署指南,涵盖从开发环境到生产环境的所有步骤。
## 📋 目录
- [系统要求](#系统要求)
- [环境准备](#环境准备)
- [快速部署](#快速部署)
- [生产环境部署](#生产环境部署)
- [数据库管理](#数据库管理)
- [监控与维护](#监控与维护)
- [故障排查](#故障排查)
- [备份与恢复](#备份与恢复)
- [性能优化](#性能优化)
- [安全加固](#安全加固)
---
## 💻 系统要求
### 最低配置
| 项目 | 要求 |
|------|------|
| 操作系统 | Linux / macOS / Windows (WSL2) |
| CPU | 2 核 |
| 内存 | 2GB RAM |
| 磁盘 | 5GB 可用空间 |
| 网络 | 稳定的网络连接 |
### 推荐配置
| 项目 | 要求 |
|------|------|
| 操作系统 | Ubuntu 22.04 LTS / CentOS 8+ |
| CPU | 4 核 |
| 内存 | 4GB RAM |
| 磁盘 | 20GB SSD |
| 网络 | 千兆网络 |
### 端口要求
| 端口 | 服务 | 说明 |
|------|------|------|
| 8086 | 前端 | React 应用 |
| 8087 | 后端 API | Django REST API |
| 5432 | PostgreSQL | 数据库 |
| 443 | HTTPS | Nginx生产环境 |
---
## 🔧 环境准备
### 1. 安装 Docker
#### Ubuntu / Debian
```bash
# 更新包索引
sudo apt-get update
# 安装依赖
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加 Docker 仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 验证安装
docker --version
docker compose version
```
#### CentOS / RHEL
```bash
# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker
```
#### macOS
```bash
# 使用 Homebrew 安装
brew install --cask docker
# 启动 Docker Desktop
open -a Docker
```
### 2. 配置 Docker 用户组(可选但推荐)
```bash
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新登录或运行
newgrp docker
# 验证
docker ps
```
### 3. 安装 Git
```bash
# Ubuntu / Debian
sudo apt-get install -y git
# CentOS / RHEL
sudo yum install -y git
# macOS
brew install git
```
### 4. 安装 Nginx生产环境
```bash
# Ubuntu / Debian
sudo apt-get install -y nginx
# CentOS / RHEL
sudo yum install -y nginx
```
---
## 🚀 快速部署
### 1. 克隆项目
```bash
# 克隆仓库
git clone http://10.2.0.100:8989/daotong/lobster-memory-sync.git
cd lobster-memory-sync
```
### 2. 配置环境变量
创建 `.env` 文件:
```bash
# 数据库配置
DB_NAME=lobster_memory
DB_USER=postgres
DB_PASSWORD=your_secure_password_here
DB_HOST=postgres
DB_PORT=5432
# 龙虾记忆目录路径
LOBSTER_MEMORY_BASE=/home/node/.openclaw/workspace/daotong
# 前端配置
REACT_APP_API_URL=http://localhost:8087/api
# 端口配置
FRONTEND_PORT=8086
BACKEND_PORT=8087
POSTGRES_PORT=5432
# Docker 配置
COMPOSE_PROJECT_NAME=lobster-memory-sync
```
**重要提示:**
- 修改 `DB_PASSWORD` 为强密码
- 修改 `LOBSTER_MEMORY_BASE` 为实际的龙虾记忆目录路径
- 生产环境建议使用 `REACT_APP_API_URL=https://yourdomain.com/api`
### 3. 修改 docker-compose.yml
编辑 `docker-compose.yml`
```yaml
version: '3.8'
services:
postgres:
image: postgres:15-alpine
container_name: lobster-postgres
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT:-5432}:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
interval: 10s
timeout: 5s
retries: 5
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: lobster-backend
environment:
DB_HOST: ${DB_HOST}
DB_NAME: ${DB_NAME}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
DB_PORT: ${DB_PORT}
LOBSTER_MEMORY_BASE: ${LOBSTER_MEMORY_BASE}
DJANGO_SETTINGS_MODULE: memory_sync.settings
volumes:
# 挂载龙虾记忆目录(只读)
- ${LOBSTER_MEMORY_BASE}:/app/memory_files:ro
# 代码热重载(开发用)
- ./backend:/app
ports:
- "${BACKEND_PORT:-8087}:8087"
depends_on:
postgres:
condition: service_healthy
command: >
sh -c "
python manage.py migrate &&
python manage.py runserver 0.0.0.0:8087
"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8087/api/"]
interval: 30s
timeout: 10s
retries: 3
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: lobster-frontend
ports:
- "${FRONTEND_PORT:-8086}:80"
environment:
- REACT_APP_API_URL=${REACT_APP_API_URL}
depends_on:
- backend
volumes:
postgres_data:
```
### 4. 构建并启动服务
```bash
# 构建镜像
docker-compose build
# 启动所有服务(后台运行)
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
```
**预期输出:**
```
NAME STATUS
lobster-postgres Up (healthy)
lobster-backend Up (healthy)
lobster-frontend Up
```
### 5. 初始化数据库
```bash
# 等待数据库启动
sleep 10
# 执行数据库迁移
docker-compose exec backend python manage.py migrate
# 创建超级用户(可选)
docker-compose exec backend python manage.py createsuperuser
# 验证迁移
docker-compose exec backend python manage.py showmigrations memory_app
```
**预期输出:**
```
[X] 0001_initial
[X] 0002_add_summary_and_audit_fields
[X] 0003_add_file_attribute
```
### 6. 验证部署
#### 检查服务状态
```bash
# 查看所有容器状态
docker-compose ps
# 查看容器资源使用
docker stats
```
#### 测试后端 API
```bash
# 测试 API 健康检查
curl http://localhost:8087/api/
# 测试文件扫描
curl "http://localhost:8087/api/scan/?lobster_id=daotong"
# 测试同步状态
curl "http://localhost:8087/api/status/?lobster_id=daotong"
```
#### 访问前端
打开浏览器访问:
- http://localhost:8086
**预期效果:**
- ✅ 能够看到文件树展示
- ✅ 能够点击文件查看差异对比
- ✅ 能够执行同步操作
- ✅ 能够查看操作历史
---
## 🏭 生产环境部署
### 1. 使用环境变量文件
创建 `.env.production` 文件:
```bash
# 生产环境配置
DB_NAME=lobster_memory_prod
DB_USER=postgres
DB_PASSWORD=<强密码,至少 32 位>
DB_HOST=postgres
DB_PORT=5432
# 龙虾记忆目录
LOBSTER_MEMORY_BASE=/var/lib/lobster/memory
# 前端 API 地址
REACT_APP_API_URL=https://api.yourdomain.com/api
# 端口配置
FRONTEND_PORT=8086
BACKEND_PORT=8087
POSTGRES_PORT=5432
# Docker 配置
COMPOSE_PROJECT_NAME=lobster-memory-sync-prod
```
### 2. 配置 Nginx 反向代理
创建 Nginx 配置文件 `/etc/nginx/sites-available/lobster-memory-sync`
```nginx
# 上游服务器配置
upstream lobster_backend {
server localhost:8087;
keepalive 32;
}
upstream lobster_frontend {
server localhost:8086;
keepalive 32;
}
# HTTP 重定向到 HTTPS
server {
listen 80;
listen [::]:80;
server_name yourdomain.com;
# Let's Encrypt 验证
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
# 重定向到 HTTPS
location / {
return 301 https://$server_name$request_uri;
}
}
# HTTPS 配置
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name yourdomain.com;
# SSL 证书配置
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
# HSTS
add_header Strict-Transport-Security "max-age=63072000" always;
# 安全头部
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
# 日志
access_log /var/log/nginx/lobster-memory-access.log;
error_log /var/log/nginx/lobster-memory-error.log;
# 前端静态资源
location / {
proxy_pass http://lobster_frontend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 缓存配置
expires 1h;
add_header Cache-Control "public, immutable";
}
# 后端 API
location /api/ {
proxy_pass http://lobster_backend/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 超时配置
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
# 禁用缓存
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
# WebSocket 支持(如果需要)
location /ws/ {
proxy_pass http://lobster_backend/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
启用配置:
```bash
# 创建符号链接
sudo ln -s /etc/nginx/sites-available/lobster-memory-sync /etc/nginx/sites-enabled/
# 测试配置
sudo nginx -t
# 重启 Nginx
sudo systemctl restart nginx
```
### 3. 启用 HTTPS
使用 Let's Encrypt 获取免费 SSL 证书:
```bash
# 安装 certbot
sudo apt-get install certbot python3-certbot-nginx
# 获取证书
sudo certbot --nginx -d yourdomain.com
# 测试自动续期
sudo certbot renew --dry-run
# 添加自动续期任务
sudo crontab -e
```
添加以下行:
```
0 0 * * * certbot renew --quiet --post-hook "systemctl reload nginx"
```
### 4. 配置防火墙
```bash
# Ubuntu (UFW)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
# CentOS (firewalld)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
```
### 5. 配置数据库备份
创建备份脚本 `/usr/local/bin/lobster-backup.sh`
```bash
#!/bin/bash
# 配置
BACKUP_DIR="/var/backups/lobster-memory"
COMPOSE_FILE="/opt/lobster-memory-sync/docker-compose.yml"
DB_NAME="lobster_memory_prod"
DB_USER="postgres"
RETENTION_DAYS=30
# 创建备份目录
mkdir -p $BACKUP_DIR
# 生成备份文件名
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/lobster_memory_$DATE.sql.gz"
# 执行备份
docker-compose -f $COMPOSE_FILE exec -T postgres pg_dump -U $DB_USER $DB_NAME | gzip > $BACKUP_FILE
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "Backup completed: $BACKUP_FILE"
# 删除旧备份
find $BACKUP_DIR -name "lobster_memory_*.sql.gz" -mtime +$RETENTION_DAYS -delete
# 记录日志
logger "Lobster Memory backup completed: $BACKUP_FILE"
else
echo "Backup failed!"
logger "Lobster Memory backup failed!"
exit 1
fi
```
添加执行权限:
```bash
sudo chmod +x /usr/local/bin/lobster-backup.sh
```
添加定时任务:
```bash
sudo crontab -e
```
添加以下行:
```
# 每天凌晨 2 点执行备份
0 2 * * * /usr/local/bin/lobster-backup.sh >> /var/log/lobster-backup.log 2>&1
```
### 6. 配置日志轮转
创建日志轮转配置 `/etc/logrotate.d/lobster-memory`
```
/var/log/nginx/lobster-memory-*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 644 www-data www-data
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>&1 || true
endscript
}
/var/log/lobster-backup.log {
weekly
rotate 12
compress
missingok
notifempty
create 644 root root
}
```
---
## 🗄️ 数据库管理
### 连接数据库
```bash
# 进入数据库容器
docker-compose exec postgres psql -U postgres -d lobster_memory
# 或使用主机连接
psql -h localhost -U postgres -d lobster_memory
```
### 常用 SQL 命令
```sql
-- 查看所有表
\dt
-- 查看表结构
\d lobster_memory
-- 查看索引
\d lobster_memory
-- 查看同步历史
SELECT * FROM sync_history ORDER BY created_at DESC LIMIT 10;
-- 查看文件属性
SELECT * FROM file_attribute WHERE lobster_id = 'daotong';
-- 统计文件数量
SELECT COUNT(*) FROM lobster_memory WHERE lobster_id = 'daotong';
-- 查看冲突文件
SELECT file_path, status, version FROM lobster_memory WHERE status IN ('conflict', 'hard_conflict');
```
### 数据库性能优化
```sql
-- 创建索引
CREATE INDEX idx_lobster_memory_lobster_updated ON lobster_memory(lobster_id, updated_at);
CREATE INDEX idx_sync_history_lobster_updated ON sync_history(lobster_id, created_at);
-- 分析表
ANALYZE lobster_memory;
ANALYZE sync_history;
ANALYZE file_attribute;
-- 清理死元组
VACUUM FULL lobster_memory;
```
---
## 📊 监控与维护
### 查看服务日志
```bash
# 查看所有服务日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f backend
docker-compose logs -f frontend
docker-compose logs -f postgres
# 查看最近 100 行日志
docker-compose logs --tail=100 backend
# 查看特定时间范围的日志
docker-compose logs --since=2024-01-01T00:00:00 backend
```
### 查看资源使用
```bash
# 查看容器资源使用情况
docker stats
# 查看磁盘使用
docker system df
# 清理未使用的资源
docker system prune -a
# 查看容器详细信息
docker inspect lobster-backend
```
### 健康检查
```bash
# 检查后端 API
curl -f http://localhost:8087/api/ || echo "Backend is down"
# 检查前端
curl -f http://localhost:8086/ || echo "Frontend is down"
# 检查数据库
docker-compose exec postgres pg_isready -U postgres
```
### 自动化监控脚本
创建监控脚本 `/usr/local/bin/lobster-monitor.sh`
```bash
#!/bin/bash
# 配置
WEBHOOK_URL="https://your-webhook-url.com"
COMPOSE_FILE="/opt/lobster-memory-sync/docker-compose.yml"
# 检查服务状态
check_service() {
local service=$1
local url=$2
if ! curl -f -s -o /dev/null "$url"; then
echo "Service $service is down!"
# 发送告警
curl -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d "{\"text\": \"🚨 Service $service is down!\"}"
# 重启服务
docker-compose -f $COMPOSE_FILE restart $service
# 记录日志
logger "Restarted service: $service"
fi
}
# 检查各个服务
check_service "backend" "http://localhost:8087/api/"
check_service "frontend" "http://localhost:8086/"
```
添加定时任务:
```bash
sudo crontab -e
```
添加以下行:
```
# 每 5 分钟检查一次服务状态
*/5 * * * * /usr/local/bin/lobster-monitor.sh
```
---
## 🔍 故障排查
### 问题 1容器启动失败
**症状:**
```bash
docker-compose ps
# NAME STATUS
# lobster-postgres Exit 1
# lobster-backend Exit 1
```
**排查步骤:**
1. 查看容器日志
```bash
docker-compose logs postgres
docker-compose logs backend
```
2. 检查端口占用
```bash
sudo netstat -tulpn | grep -E '8086|8087|5432'
```
3. 检查磁盘空间
```bash
df -h
```
4. 重新构建镜像
```bash
docker-compose build --no-cache
docker-compose up -d
```
### 问题 2数据库连接失败
**症状:**
```
django.db.utils.OperationalError: could not connect to server
```
**排查步骤:**
1. 检查数据库容器状态
```bash
docker-compose ps postgres
```
2. 查看数据库日志
```bash
docker-compose logs postgres
```
3. 测试数据库连接
```bash
docker-compose exec postgres psql -U postgres -d lobster_memory -c "SELECT version();"
```
4. 检查环境变量
```bash
docker-compose exec backend env | grep DB_
```
### 问题 3前端无法访问后端 API
**症状:**
```
Network Error
```
**排查步骤:**
1. 检查后端服务状态
```bash
curl http://localhost:8087/api/
```
2. 检查前端配置
```bash
docker-compose logs frontend
```
3. 验证环境变量
```bash
docker-compose exec frontend env | grep REACT_APP_API_URL
```
4. 检查网络连接
```bash
docker-compose exec frontend curl http://backend:8087/api/
```
### 问题 4文件扫描失败
**症状:**
```
Error reading /app/memory_files/file.txt: Permission denied
```
**排查步骤:**
1. 检查龙虾记忆目录挂载
```bash
docker-compose exec backend ls -la /app/memory_files
```
2. 检查目录权限
```bash
ls -ld /home/node/.openclaw/workspace/daotong
```
3. 修复权限
```bash
chmod -R 755 /home/node/.openclaw/workspace/daotong
```
4. 重新挂载
```bash
docker-compose down
docker-compose up -d
```
### 问题 5内存占用过高
**症状:**
```
Memory usage exceeds 256MB
```
**排查步骤:**
1. 查看容器资源使用
```bash
docker stats
```
2. 检查大文件
```bash
find /home/node/.openclaw/workspace/daotong -type f -size +50M
```
3. 添加到 .lobsterignore
```bash
echo "*.log" >> /home/node/.openclaw/workspace/daotong/.lobsterignore
```
4. 重启服务
```bash
docker-compose restart backend
```
---
## 💾 备份与恢复
### 备份数据库
```bash
# 手动备份
docker-compose exec postgres pg_dump -U postgres lobster_memory > backup.sql
# 压缩备份
docker-compose exec postgres pg_dump -U postgres lobster_memory | gzip > backup.sql.gz
# 备份到远程
docker-compose exec postgres pg_dump -U postgres lobster_memory | gzip | ssh user@remote "cat > /backup/lobster_memory_$(date +%Y%m%d).sql.gz"
```
### 恢复数据库
```bash
# 从本地恢复
docker-compose exec -T postgres psql -U postgres lobster_memory < backup.sql
# 从压缩文件恢复
gunzip < backup.sql.gz | docker-compose exec -T postgres psql -U postgres lobster_memory
# 从远程恢复
ssh user@remote "cat /backup/lobster_memory_20240101.sql.gz" | gunzip | docker-compose exec -T postgres psql -U postgres lobster_memory
```
### 备份配置文件
```bash
# 备份配置文件
tar -czf lobster-config-$(date +%Y%m%d).tar.gz \
.env \
docker-compose.yml \
.lobsterignore \
nginx.conf
```
---
## ⚡ 性能优化
### 1. 数据库优化
```sql
-- 调整 PostgreSQL 配置
ALTER SYSTEM SET shared_buffers = '256MB';
ALTER SYSTEM SET effective_cache_size = '1GB';
ALTER SYSTEM SET maintenance_work_mem = '64MB';
ALTER SYSTEM SET work_mem = '16MB';
-- 重启数据库生效
docker-compose restart postgres
```
### 2. Nginx 优化
```nginx
# 启用 gzip 压缩
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml+rss application/json;
# 启用缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
```
### 3. Docker 优化
```yaml
# docker-compose.yml
services:
backend:
# 限制内存使用
deploy:
resources:
limits:
cpus: '2'
memory: 512M
reservations:
cpus: '0.5'
memory: 256M
```
---
## 🔒 安全加固
### 1. 更新默认密码
```bash
# 修改数据库密码
docker-compose exec postgres psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'your-strong-password';"
# 更新 .env 文件
sed -i 's/DB_PASSWORD=.*/DB_PASSWORD=your-strong-password/' .env
```
### 2. 配置防火墙
```bash
# 只允许特定 IP 访问数据库
sudo ufw allow from 192.168.1.0/24 to any port 5432
```
### 3. 启用 SELinuxCentOS
```bash
# 检查 SELinux 状态
sestatus
# 启用 SELinux
sudo setenforce 1
```
### 4. 定期更新
```bash
# 更新 Docker 镜像
docker-compose pull
docker-compose up -d
# 更新系统包
sudo apt-get update && sudo apt-get upgrade -y
```
---
## 📝 维护清单
### 每日
- [ ] 检查服务状态
- [ ] 查看错误日志
- [ ] 验证备份完成
### 每周
- [ ] 清理旧日志
- [ ] 检查磁盘空间
- [ ] 更新系统补丁
### 每月
- [ ] 检查备份完整性
- [ ] 性能评估
- [ ] 安全审计
---
## 🆘 获取帮助
遇到问题?
1. 查看日志:`docker-compose logs -f`
2. 查看文档:[README.md](README.md)
3. 提交 Issuehttp://10.2.0.100:8989/daotong/lobster-memory-sync/issues
---
**文档版本**: v1.0.0
**最后更新**: 2026-04-05
**维护者**: 道童