构建日志
本页记录网站周边系统的重要变化,包括开发环境、维护自动化、发布流程与值得说明的网站功能。自动生成的更新页面回答“哪些笔记最近变了”;本页则说明“新增了什么能力,以及为什么这样做”。
公开条目使用功能性占位符替代私有仓库名和主机名;精确的资产清单保留在私有运维记录中。
每条记录保持简短:
- Added — 新增的能力与命令;
- Changed — 行为上的变化;
- Verified — 通过的检查项;
- Next — 有意延后的工作。
2026-08-09 — RSSHub 生产影子负载
Added
- 在独立的
/srv/rsshubCompose 项目中部署官方 RSSHub 镜像,通过不可变摘要(digest)固定版本,启用内存缓存、unless-stopped策略及容器健康检查。 - 通过
rss.example.com、Caddy 和infra-edge提供 HTTPS 服务;RSSHub 的 1200 端口仅存在于 Docker 内部,未映射到宿主机。 - 在 VPS 上生成 ACCESS_KEY,仅配置代表性 Bilibili 路由所需的变量;在 Kuma 中新增无密钥的公开健康监控。
Changed
infra-edge网络现包含 Caddy 和 RSSHub,Caddy 通过rsshub-prod别名解析服务。- 当前 RSSHub 版本在启用 ACCESS_KEY 时会保护
/healthz端点。因此,容器和 Caddy 使用仅绑定健康检查路径的派生代码(derived code);原始密钥仍保留在受保护的 env 文件中。 - 部署保持“影子”(shadow)状态:现有的 feed 消费者、持久化数据、调度器及本地 RSSHub 均未改动。
Verified
- 本地、公共及权威 DNS 查询均指向 VPS;HTTPS 健康检查返回 200 且 TLS 有效,HTTP 返回 308。
- 未认证的真实路由返回 403。认证后的本地和 VPS 金丝雀(canary)测试均返回相同的 RSS 频道身份、20 条内容且无错误负载。
- 通过公网和 Tailscale 主机地址均无法访问 1200 端口;UFW、仅限 Tailscale 的 SSH、Caddy、私有 Kuma 及零失败的 systemd 单元状态保持完好。
- 仅重启 RSSHub 后,状态恢复为
running healthy,Caddy 和 Kuma 容器未受影响。临时下游兼容性金丝雀测试成功抓取代表性条目,未触碰生产数据。
Next
- 将 SQLite 备份/恢复、调度器迁移、RSSHub 端点切换及本地回退退役合并至受控的 Phase 4 阶段。
2026-08-09 — 共享 VPS 入口与私有监控
Added
- 部署 Caddy 作为唯一的公网 Docker 入口,仅发布宿主机 TCP 80/443 端口,并建立可复用的外部桥接网络
infra-edge。 - 部署 Uptime Kuma,数据持久化存储,管理界面精确绑定
127.0.0.1:3001,仅通过 Tailscale SSH 的本地转发隧道访问。 - 为
infra.example.com增加 HTTPS/healthz端点,由 Caddy 管理证书及 HTTP 到 HTTPS 的重定向。
Changed
- 基础设施验收不再将“UFW 激活”视为 Docker 端口安全的充分证据。每次部署需联合检查 Compose 绑定、
docker inspect、宿主机 socket、UFW 规则及来自其他机器的探测结果。 - 新增受控重启生存检查:重启后仅通过 Tailscale 重连,随后复验管理访问、容器状态、持久化数据、TLS、拒绝路径及失败单元。
Verified
- 暴露面审计确认公网地址仅开放 Caddy 的 TCP 80/443;Uptime Kuma 的唯一宿主机绑定为
127.0.0.1:3001,无其他 Docker 宿主机端口发布。 - 从 WSL2 发起的公网 SSH 和 TCP 3001 连接均超时。在正常证书校验下,HTTPS 健康端点返回 200 和
ok,HTTP 返回 308。 - 一次受控重启后,Tailscale、Docker、Caddy 及健康状态的 Kuma 自动恢复,Kuma 初始化状态持久化,
systemctl --failed报告零单元。
Next
- 应用迁移、镜像固定、备份实现及恢复演练保持为独立的后续阶段,不随共享入口部署扩大范围。
2026-08-04 — WSL 开发环境刷新
Added
-
建立安全的配置快照工作流,包含校验和、Conda 导出、包列表及恢复辅助工具。明确排除项目文件、私有 SSH 密钥及 Shell 秘密信息。
-
新增
maintain命令用于日常 Ubuntu 维护:maintain status # 磁盘、缓存及待更新包maintain update # 安全的就地 Ubuntu 升级maintain clean # 仅清理可重现的包缓存maintain all # 更新、清理并报告 -
通过 systemd 自动安装 Ubuntu 安全更新,限制为官方安全源,并配置为永不自动重启 WSL。
-
安装日常开发所需的轻量命令行工具:
fd、jq、shellcheck、pipx、ncdu、direnv和hyperfine。 -
提供可选的 Windows 侧 VHDX 压缩辅助工具,用于在大规模清理 Linux 缓存后回收宿主机磁盘空间。
Changed
- Node.js 从 20 升级至
24.18.1,网站固定版本同步更新。 - Conda 不再在每个终端自动激活
base环境。改为首次使用时加载,因此conda activate <environment>依然可用,而普通 Shell 默认使用 Ubuntu 的 Python。 - Shell 启动时移除重复的
PATH条目,使用更安全的 Git 和系统别名,并集成zoxide和direnv。 - 包缓存减少约 18 GB。这在 WSL 内部释放了空间;缩小 Windows VHDX 文件仍是单独的显式操作。
Verified
- Docusaurus 的英文、简体中文和法文生产构建全部完成。
- Vite 和 Next.js 项目通过了相应的构建和测试检查;已知的存量 lint 债务保持不变。
- Ubuntu 完成所有待处理包更新,无损坏或半配置状态的包。
- 新 Shell 测试确认 Conda 懒加载、
PATH去重及维护命令正常工作。 - 最终配置快照通过所有 SHA-256 校验,且不含私钥或秘密文件。
Next
- 待活跃仓库的工作提交或妥善保存后,再将日常开发从
root迁移至普通 WSL 用户。 - 项目迁移与环境维护保持分离,以便文件所有权和 VS Code 重连易于验证和回滚。
条目模板
## YYYY-MM-DD — 简短结果
### Added
- 新能力及其主要命令或入口点。
### Changed
- 重要的行为变化及其原因。
### Verified
- 构建、测试、健康检查或备份结果。
### Next
- 有意延后的工作(如有)。