# Docker管理系统

## 🎯 概述
管理三台服务器（ubuntu1, ubuntu2, NAS）上的Docker Compose应用。

## 📁 文件列表
```
docker-management/
├── README.md                    # 本文件
├── docker-apps.yaml            # 应用映射配置
├── docker-config-editor.sh     # 配置编辑工具
├── DOCKER_CONFIG_EDITOR_GUIDE.md  # 配置编辑指南
└── docker-command-processor.md    # 自然语言指令处理器
```

## 🚀 快速开始

### 1. 查看应用配置
```bash
cd ~/.openclaw/workspace/managed-systems/docker-management/
./docker-config-editor.sh ubuntu1 portainer show
```

### 2. 创建配置备份
```bash
./docker-config-editor.sh ubuntu1 portainer backup
```

### 3. 验证配置格式
```bash
./docker-config-editor.sh ubuntu1 portainer validate
```

### 4. 重启应用
```bash
./docker-config-editor.sh ubuntu1 portainer restart
```

## 📋 应用列表

### ubuntu1 (10个应用)
- portainer - Docker容器管理界面
- rsshub - RSS生成器
- it-tools - 开发者工具集合
- superset - 数据可视化平台
- smart-trip-quote - 智能旅行报价系统
- transmission - BT下载客户端
- homarr - 家庭仪表板
- tiktok_pm - TikTok项目管理工具
- n8n - 工作流自动化平台
- ecommerce-crawler - 电商数据爬虫

### ubuntu2 (3个应用)
- cloudflared - Cloudflare隧道客户端
- uptime-kuma - 网站监控工具
- watchtower - 自动更新Docker容器

### NAS (3个应用)
- navidrome - 音乐流媒体服务器
- portainer - Docker容器管理界面
- mysql80 - MySQL 8.0数据库

## 🔄 工作流程

### 自然语言指令
你可以用自然语言告诉我想要做什么，例如：
- "查看ubuntu1上portainer的配置"
- "备份ubuntu2上cloudflared的配置"
- "重启NAS上的navidrome"
- "验证ubuntu1上rsshub的配置格式"

### 安全编辑流程
1. **查看当前配置** - 了解当前设置
2. **创建备份** - 自动创建时间戳备份
3. **编辑文件** - 下载、编辑、上传
4. **验证格式** - 检查YAML语法
5. **重启应用** - 应用更改并验证

## ⚙️ 配置详情

### 服务器路径
- **ubuntu1**: `/home/shenwei/Docker/` (大写D)
- **ubuntu2**: `/home/shenwei/docker/` (小写d)
- **NAS**: `/volume1/docker/`

### 备份策略
- 每次修改前自动备份
- 保留最近5个备份文件
- 备份文件名：`docker-compose.yml.backup.YYYYMMDDHHMMSS`

## 🔒 安全特性

### 1. 自动备份
- 修改前创建备份
- 保留历史版本
- 支持回滚

### 2. 格式验证
- 使用 `docker compose config` 验证
- 语法错误自动检测
- 验证失败自动回滚

### 3. 差异对比
- 修改前后显示差异
- 确认修改内容
- 避免意外更改

## 🛠️ 工具说明

### docker-config-editor.sh
**功能**:
- `show` - 显示当前配置
- `backup` - 创建备份
- `validate` - 验证配置格式
- `restart` - 重启应用

**用法**:
```bash
./docker-config-editor.sh <服务器> <应用> <操作>
```

### docker-apps.yaml
**内容**:
- 应用路径映射
- 服务器配置
- 应用描述信息
- 发现时间戳

## 📖 详细指南
参见 `DOCKER_CONFIG_EDITOR_GUIDE.md` 获取完整的使用说明和安全编辑流程。

## 🔍 故障排除

### 常见问题
1. **连接失败**: 检查SSH配置和网络
2. **权限问题**: 确保有文件读写权限
3. **配置错误**: 使用验证功能检查语法
4. **应用启动失败**: 查看Docker日志

### 调试命令
```bash
# 查看Docker日志
ssh ubuntu1 "cd /home/shenwei/Docker/portainer && docker compose logs"

# 查看容器状态
ssh ubuntu1 "cd /home/shenwei/Docker/portainer && docker compose ps"

# 查看备份文件
ssh ubuntu1 "ls -la /home/shenwei/Docker/portainer/docker-compose.yml.backup.*"
```

## 📊 统计信息
- **总服务器**: 3台
- **总应用**: 16个
- **最后扫描**: 2026-03-13
- **配置文件版本**: 1.0.0

## 📝 更新记录
- **2026-03-13**: 创建Docker管理系统
- **2026-03-13**: 发现并映射16个应用
- **2026-03-13**: 实现安全编辑工具
- **2026-03-13**: 创建使用指南和文档