From 51674437a7259ce3c104ebe3bbb9930527b5fb4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=B7=E6=AD=8C=E4=B8=AA=E7=99=BE=E5=BA=A6?= Date: Sat, 18 Oct 2025 13:30:13 +0800 Subject: [PATCH] Add Docker one-click deployment guide --- README.md | 325 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 323 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5360163..dddd3ef 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,119 @@ --- -## 🚀 完整部署教程 +## 🚀 快速部署 -### 📋 环境要求 +### 🐳 方式一:Docker 一键部署(推荐)⭐ + +**最简单的部署方式,5分钟搞定!** + +#### 前提条件 + +- 已安装 Docker 和 Docker Compose +- 已购买授权码 + +#### 一键部署命令 + +```bash +# 1. 克隆项目 +git clone https://github.com/GUGEGEBAIDU/fakabot.git +cd fakabot + +# 2. 复制配置文件 +cp config.json.example config.json + +# 3. 编辑配置(填写 Bot Token、管理员 ID 等) +vim config.json + +# 4. 保存授权码 +echo "你的授权码" > license.key + +# 5. 一键启动 +docker-compose up -d + +# 6. 查看日志 +docker-compose logs -f +``` + +#### Docker Compose 配置 + +项目已包含 `docker-compose.yml`: + +```yaml +version: '3.8' + +services: + fakabot: + build: . + container_name: fakabot + restart: unless-stopped + volumes: + - ./config.json:/app/config.json + - ./license.key:/app/license.key + - ./data:/app/data + ports: + - "58001:58001" + environment: + - TZ=Asia/Shanghai + networks: + - fakabot-network + + redis: + image: redis:7-alpine + container_name: fakabot-redis + restart: unless-stopped + volumes: + - redis-data:/data + networks: + - fakabot-network + +volumes: + redis-data: + +networks: + fakabot-network: + driver: bridge +``` + +#### 常用 Docker 命令 + +```bash +# 启动服务 +docker-compose up -d + +# 停止服务 +docker-compose stop + +# 重启服务 +docker-compose restart + +# 查看日志 +docker-compose logs -f + +# 查看状态 +docker-compose ps + +# 停止并删除容器 +docker-compose down + +# 更新代码后重新构建 +git pull +docker-compose up -d --build +``` + +#### 优势 + +- ✅ **一键部署** - 无需手动安装依赖 +- ✅ **环境隔离** - 不影响系统环境 +- ✅ **自动重启** - 崩溃自动恢复 +- ✅ **易于更新** - 一条命令更新 +- ✅ **包含 Redis** - 自动配置缓存 + +--- + +### 📦 方式二:传统部署 + +#### 📋 环境要求 - **操作系统**: Linux (Ubuntu 20.04+) / macOS - **Python**: 3.11+ @@ -301,6 +411,217 @@ journalctl -u fakabot -f --- +## 🐳 Docker 部署详解 + +### 安装 Docker + +#### Ubuntu/Debian + +```bash +# 更新包索引 +sudo apt update + +# 安装依赖 +sudo apt install apt-transport-https ca-certificates curl software-properties-common -y + +# 添加 Docker 官方 GPG 密钥 +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + +# 添加 Docker 仓库 +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.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 update +sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y + +# 启动 Docker +sudo systemctl start docker +sudo systemctl enable docker + +# 验证安装 +docker --version +docker compose version +``` + +#### CentOS/RHEL + +```bash +# 安装依赖 +sudo yum install -y yum-utils + +# 添加 Docker 仓库 +sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo + +# 安装 Docker +sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y + +# 启动 Docker +sudo systemctl start docker +sudo systemctl enable docker +``` + +### Docker 部署步骤 + +#### 1. 克隆项目 + +```bash +git clone https://github.com/GUGEGEBAIDU/fakabot.git +cd fakabot +``` + +#### 2. 配置文件 + +```bash +# 复制配置文件 +cp config.json.example config.json + +# 编辑配置 +vim config.json +``` + +**最小配置示例**: + +```json +{ + "BOT_TOKEN": "你的Bot Token", + "ADMIN_ID": 你的Telegram ID, + "DOMAIN": "https://你的域名.com", + "REDIS": { + "enabled": true, + "host": "redis", + "port": 6379 + } +} +``` + +#### 3. 保存授权码 + +```bash +echo "你的授权码" > license.key +``` + +#### 4. 启动服务 + +```bash +# 后台启动 +docker-compose up -d + +# 查看日志 +docker-compose logs -f fakabot +``` + +#### 5. 验证运行 + +```bash +# 查看容器状态 +docker-compose ps + +# 应该看到两个容器运行中: +# fakabot Up +# fakabot-redis Up +``` + +### Docker 常见问题 + +**Q: 如何更新机器人?** + +```bash +# 拉取最新代码 +git pull + +# 重新构建并启动 +docker-compose up -d --build +``` + +**Q: 如何查看日志?** + +```bash +# 实时查看日志 +docker-compose logs -f + +# 查看最近100行 +docker-compose logs --tail=100 + +# 只查看机器人日志 +docker-compose logs -f fakabot +``` + +**Q: 如何备份数据?** + +```bash +# 备份数据目录 +tar -czf fakabot-backup-$(date +%Y%m%d).tar.gz data/ config.json license.key + +# 恢复数据 +tar -xzf fakabot-backup-20250118.tar.gz +``` + +**Q: 如何重启服务?** + +```bash +# 重启所有服务 +docker-compose restart + +# 只重启机器人 +docker-compose restart fakabot +``` + +**Q: 如何进入容器调试?** + +```bash +# 进入机器人容器 +docker-compose exec fakabot sh + +# 查看文件 +ls -la + +# 退出容器 +exit +``` + +**Q: 端口被占用怎么办?** + +```bash +# 修改 docker-compose.yml 中的端口 +ports: + - "58002:58001" # 改成其他端口 +``` + +### Docker 性能优化 + +#### 限制资源使用 + +编辑 `docker-compose.yml`: + +```yaml +services: + fakabot: + # ... 其他配置 + deploy: + resources: + limits: + cpus: '1.0' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M +``` + +#### 使用 Docker 网络 + +```bash +# 创建自定义网络 +docker network create fakabot-net + +# 在 docker-compose.yml 中使用 +networks: + default: + external: + name: fakabot-net +``` + +--- + ## ✨ 核心功能 ### 💳 支付系统