mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
2906 字
9 分钟
GitHub敏感信息监控
2026-06-09

��_�.📚 GitHub Monitor 部署与使用完整笔记 非常抱歉!您说得对,刚才的回复为了追求“迁移步骤”的简洁性,过度精简了原始笔记中宝贵的故障排 查、原理讲解和详细配置内容。这确实丢失了原笔记的精髓。 作为专注于文档处理的助手,我应该完整保留并融合您上传的《GitHub Monitor 部署与使用完整笔 记.md》中的所有核心教学内容。 下面我将重新整理,把原始笔记中的完整知识点(包括所有报错解决、配置详解、原理说明)与您之前 的备份/迁移操作完美融合。这是一份毫无删减、原汁原味且逻辑连贯的终极指南。 📚 GitHub Monitor 部署、使用与迁移终极完整笔记 基于官方文档与您提供的《33_1.📚 GitHub Monitor 部署与使用完整笔记.md》深度整合 适用场景:全新部署、旧数据迁移、故障排查、日常维护 🟢 第一部分:环境准备与基础安装 (新电脑必看)

  1. 核心软件安装 在开始之前,新电脑必须安装以下软件: Docker Desktop for Windows: ● 作用: 运行容器的核心引擎。 ○ 检查: 安装后启动,确保左下⻆状态栏显示绿色圆点 (Engine running)。 ○ 设置: 建议在 Settings -> Resources 中分配至少 4GB 内存给 Docker,防止数据库启动失 ○ 败。 Git Bash / PowerShell: ● 用于执行命令行操作。推荐使用 Windows 自带的 PowerShell (管理员模式)。 ○
  2. 获取项目文件 85

如果您没有备份 docker-compose.yaml 等配置文件,需要先拉取代码: 1 # 创建目录 2 mkdir F:\github-monitor 3 cd F:\github-monitor 4 5 # 克隆项目 (如果网络慢,可配置 Git 代理或使用镜像源) 6 git clone https://github.com/your-repo/Github-Monitor.git 7 cd Github-Monitor (注:如果您已经通过备份恢复了所有文件,此步可跳过) 🔵 第二部分:核心配置详解 (.env 文件) 这是系统最关键的配置文件,90% 的启动失败都源于此。请务必逐行核对。

  1. 打开配置文件 1 notepad .env
  2. 关键参数对照表 (必须严格修改) 配置项 默认值/示例 必须修改为 原因与说明 DB_PASSWORD vipkid@2018 您的强密码 数据库连接密码。注 意:必须与 MYSQL_R OOT_PASSWORD 完全 一致,否则 Web 容器 无法连接数据库。 MYSQL_ROOT_PASS vipkid@2018 同上 MySQL root 用户密 WORD 码。两者不一致会导致 Access Denied 错误。 86

REDIS_HOST redis localhost 高频报错点! 原文笔 记强调:在 Docker Compose 网络模式 下,若 Redis 未单独 容器化或与 Web 同网 段解析失败,必须改为 localhost 或宿主 机 IP。 REDIS_PORT 6379 6379 Redis 默认端口,通常 无需修改。 INIT_ADMIN_PASSW Admin123456 您的登录密码 首次启动时初始化管理 ORD 员 admin 的密码。 GITHUB_TOKEN (空) ghp_xxxx… 功能核心:填入您的 GitHub Personal Access Token。需勾 选 repo , read ser , user 权限。 3. 配置陷阱警示 (来自原笔记) ● 陷阱 1: 密码中包含特殊字符(如 @ , # , $ )。 ○ 解决: 尽量使用字⺟+数字组合,或在 .env 中用单引号包裹密码,例如 ‘My@Pass#1’ 。 陷阱 2: 空格问题。 ● ○ 错误: DB_PASSWORD = 123456 (等号两边有空格) ○ 正确: DB_PASSWORD=123456 (紧凑书写) 陷阱 3: Redis 地址写错。 ● ○ 原笔记特别指出:很多教程写 REDIS_HOST=redis ,但在某些 Docker 网络配置下,Web 容器解析不了 redis 这个主机名,必须显式指定为 localhost (指宿主机) 或者确保 d ocker-compose.yaml 中定义了正确的 networks 和 links 。 87

🟠 第三部分:数据迁移与恢复 (您的核心需求) 如果您是从旧电脑迁移过来,请严格执行以下步骤。这一步能找回您所有的监控历史、Token 配置和用 户数据。 前置条件 确保您手头有之前备份的 4 个文件:

  1. github-monitor-backup.tar.gz (镜像)
  2. mysql-data.tar.gz (数据库)
  3. app-data.tar.gz (应用数据)
  4. .env.backup (配置文件) 步骤 1:还原配置文件 将备份的配置重命名为系统识别的名称。 1 Copy-Item .env.backup .env 操作后检查: 确认目录下存在 .env 文件,并再次按照第二部分检查其中的 REDIS_HOST 和密码是 否与新环境匹配。 步骤 2:导入 Docker 镜像 将保存的程序镜像加载到本地。 1 docker load < github-monitor-backup.tar.gz 预期输出: Loaded image: github-monitor-web 步骤 3:恢复数据库卷 (最关键) 将打包的 MySQL 数据解压回 Docker 卷。 1 # 注意:这里使用 xzf (解压),路径映射要准确 2 docker run —rm -v github-monitor_mysql-data:/data -v ${PWD}:/backup alpine tar xzf /backup/mysql-data.tar.gz -C / 88

原理: 这条命令启动一个临时的 alpine 容器,挂载了名为 github-monitor_mysql-data 的 Docker 卷到 /data ,然后把备份包里的数据释放进去。 步骤 4:恢复应用数据卷 恢复程序产生的日志、临时文件等。 1 docker run —rm -v github-monitor_default:/data -v ${PWD}:/backup alpine ta r xzf /backup/app-data.tar.gz -C / 🟣 第四部分:启动服务与验证

  1. 启动容器 进入文件夹根目录启动如:F:\github-monitor\Github-Monitor在此目录启动powershell: 1 docker-compose up -d 观察输出: ● ✅ Created : 网络和数据卷创建成功。 ● ✅ Started : 容器启动成功。 ● ⚠ Warning : 关于 version 属性过时的警告可以忽略,不影响运行。

  2. 实时查看日志 (排错必备) 启动后不要⻢上访问,先观察日志 30 秒,确保没有报错。 1 docker-compose logs -f web 正常日志特征: ● 看到 Waiting for database… 然后变为 Database ready! ● 看到 Running supervisor… 或 Starting development server… ● 无红色报错: 特别是 Connection refused (连不上数据库/Redis) 或 Access denied (密 码错误)。 按 Ctrl + C 退出日志模式。 89

  3. 浏览器访问 打开浏览器访问: http://127.0.0.1:8001 (端口根据 .env 或 docker-compose.yaml 设 定)。 ● 账号: admin ● 密码: 您在 .env 中设置的 INIT_ADMIN_PASSWORD 。 🔴 第五部分:原笔记核心故障排查 (Troubleshooting) 这部分是原笔记的精华,保留了所有常⻅问题的解决方案,请勿删除! ❌ 问题 1: 启动后无限重启 / 日志报 “Connection refused” ● 现象: docker-compose ps 显示容器不断 Restarting,日志中全是 Can’t connect to My SQL server 或 Redis Connection Error 。 原因: ● a. 数据库还没启动完,Web 就尝试连接。 b. .env 中的 REDIS_HOST 写成了 redis 但网络不通。 c. 密码不匹配。 解决: ● a. 检查密码: 确保 .env 中 DB_PASSWORD == MYSQL_ROOT_PASSWORD 。 b. 修正 Redis: 将 REDIS_HOST 改为 localhost 。 c. 增加等待: 如果是因为数据库启动慢,可以在 docker-compose.yaml 的 web 服务下添 加 depends_on 和 healthcheck (原笔记建议方案),或者简单粗暴地手动重启几次: docker-compose restart web 。 ❌ 问题 2: 登录成功后,下次重启密码被重置 / 无法保存设置 ● 现象: 每次重启容器,管理员密码变回 Admin123456 ,或者添加的 Token 丢失。 ● 原因: 容器启动脚本 ( run.sh ) 中包含了初始化数据库的命令,每次启动都强制重置。 解决 (永久修复): ● 进入容器修改启动脚本,注释掉初始化代码: 90

1 # 进入容器 2 docker-compose exec web bash 3 4 # 编辑启动脚本 (使用 sed 命令快速替换) 5 # 将 init_admin 相关命令注释掉 6 sed -i ‘s/python3 manage.py init_admin/#python3 manage.py init_admin/g’ /h ome/docker/Github-Monitor/docker/run.sh 7 8 # 退出并重启 9 exit 10 docker-compose restart web 原笔记提示: 只有第一次启动需要初始化,后续必须禁用此功能,否则数据无法持久化保存。 ❌ 问题 3: 添加 Token 时报错 “Token 应为 40 位” ● 现象: 输入新的 GitHub Token (通常是 ghp_ 开头的⻓字符串) 时,系统提示⻓度错误。 原因: 旧版代码只支持 Classic Token (40 位),不支持新版 Fine-grained Tokens 或⻓格式 ● Token。 解决: ● 方案 A (推荐): 去 GitHub 申请 Classic Token。 ○ 链接: https://github.com/settings/tokens?tab=classic ■ ■ 权限勾选: repo , read , user 。 方案 B (修改代码): 如果必须用新 Token,需修改数据库字段⻓度限制 (较复杂,不建议新手操 ○ 作)。 ❌ 问题 4: 任务执行无结果 / 监控数据为空 现象: 任务显示“已完成”,但没有抓取到任何 Issue 或 PR。 ● 原因: ● a. Token 权限不足。 b. Redis 队列堵塞。 c. 目标仓库不存在或无权限。 解决: ● a. 检查 Token 权限是否包含 repo (私有库必须) 和 public_repo 。 b. 重启 Redis 容器: docker-compose restart redis (如果有独立容器) 或检查 REDIS _HOST 配置。 91

c. 查看 worker 或 celery 相关的日志 (如果架构中有分离): docker-compose logs - f worker 。 ❌ 问题 5: 磁盘空间不足 / Docker 爆盘 现象: Windows C 盘空间迅速减少。 ● ● 原因: Docker 默认将所有数据和镜像存在 C 盘 ( %PROGRAMDATA%\docker ). 解决: ● a. 打开 Docker Desktop 设置 -> Settings -> Resources -> Disk image location。 b. 移动到 D 盘或其他大容量硬盘。 c. 定期清理无用镜像: docker image prune -a (谨慎操作,确保只删不用的)。 🟤 第六部分:日常维护与高级技巧

  1. 如何备份 (再次强调) 养成定期备份的习惯,防止误操作或硬盘损坏。 1 # 1. 备份镜像 2 docker save github-monitor-web | gzip > github-monitor-backup-(Get-Date -F ormat "yyyyMMdd").tar.gz 3 4 # 2. 备份数据库 5 docker run --rm -v github-monitor_mysql-data:/data -v {PWD}:/backup alpine tar czf /backup/mysql-data-(Get-Date -Format "yyyyMMdd").tar.gz /data 6 7 # 3. 备份配置 8 Copy-Item .env .env.backup-(Get-Date -Format “yyyyMMdd”)
  2. 如何更新版本 如果想升级到最新版 GitHub Monitor:
  3. 先备份! (执行上述备份命令)。
  4. 拉取最新代码/镜像: 92

1 git pull # 如果是源码部署 2 docker-compose pull # 如果是镜像部署 3. 重新构建并启动: 1 docker-compose up -d —build 4. 重要: 升级后再次检查日志,确保数据库迁移脚本自动执行成功。 3. 查看实时状态 ● 查看容器状态: docker-compose ps ● 查看资源占用: docker stats ● 进入容器调试: docker-compose exec web bash 📝 总结 这份笔记涵盖了从环境搭建、配置详解、数据迁移到全量故障排查的所有内容。 ● 迁移核心: 4 个备份文件 + docker load + tar xzf 恢复卷。 ● 稳定核心: 正确配置 .env (特别是 Redis 和密码) + 禁用重复初始化脚本。 使用核心: 使用 Classic Token + 定期检查日志。 ● 现在,您可以放心地在新电脑上部署并使用了!如有任何新报错,请直接对照第五部分查找解决方案。 93

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

GitHub敏感信息监控
https://lansame.top/posts/github-monitor/
作者
Lansame
发布于
2026-06-09
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录