文章列表

Phorge 现代化改造实战(六):替换实时通知服务,为什么 HTTP 501 反而表示正常

本文是“Phorge 现代化改造实战”系列第六篇,记录用 `gorge-notification` 替换 Phorge 自带的 Node.js 常驻服务 Aphlict 的过程:长连接、内存状态和集群扇出怎么做兼容,以及那些坏掉之后仍然返回 200 的协议约定。 阅读全文

Phorge 现代化改造实战(五):替换 diff 子进程,兼容不等于逐字一致

, , , , , ,
本文是“Phorge 现代化改造实战”系列第五篇,记录把第二个纯计算模块 diff 迁入 Gorge 的过程:复现 `diff -U65535`、用参照实现验证 8.6% 的不一致,以及区分“实现就绪”和“宿主已经切换”。 阅读全文

Phorge 现代化改造实战(四):拆分模块到 Gorge,无侵入改造不等于不碰文件

, , , , , ,
本文是“Phorge 现代化改造实战”系列第四篇,记录把语法高亮从 Phorge 拆到常驻 Go 服务 `gorge-render` 的过程,以及怎样让这个 fork 不因此变成每次同步上游都要手工合并的负担。 阅读全文

Phorge 现代化改造实战(三):接入 Stargate,把 Forward Auth 的信任边界做完整

本文是“Phorge 现代化改造实战”系列第三篇,把视角从容器内部移到入口,记录让 Phorge 运行在 Traefik Forward Auth 之后并识别网关传递的用户身份的过程。 阅读全文

Phorge 现代化改造实战(二):改进容器化的七个细节

, , , , , ,
本文是“Phorge 现代化改造实战”系列第二篇,记录把上一篇的最小可运行容器从“能跑起来”改进到“可配置、可持久化、可观测”的过程。 阅读全文

Phorge 现代化改造实战(一):从没有官方镜像到 Docker Compose 跑起来

, , , , , ,
Phabricator 停止维护后,社区 fork 出的 Phorge 接过了后续维护,但截至 2026 年 9 月仍未提供官方 Dockerfile 和容器镜像。本文是“Phorge 现代化改造实战”系列第一篇,记录我把自己 fork 的源码做成最小可运行容器基线的过程。 阅读全文

使用 portmap 转发 Rootless Podman 的低位端口

, , , ,
从 Docker Desktop 换到 Podman 后,Linux Rootless Podman 用 pasta 发布 80、443、22、53 这类低位端口时会因权限不足失败,把宿主机端口换成 8080 才能启动。本文介绍我为此写的小工具 soulteary/portmap:让 Rootless Podman 继续发布高位端口,再由宿主机上一个功能单一的进程提供标准端口入口。 阅读全文

WordPress SQLite Docker 镜像封装细节:两年后的升级

, , , ,
两年前用不到三十行的 Dockerfile 把 WordPress、SQLite 和官方镜像拼在一起,两年后这个 Dockerfile 明显变长了。本文继续拆解 soulteary/docker-sqlite-wordpress,随着上游从 WordPress 6.5.2、PHP 8.3、SQLite Integration 2.1.9 升级到 WordPress 7.0.2、PHP 8.5、SQLite Integration 3.0.0-rc.8,SQLite 接入方式依旧靠 db.php 接管数据库层,新增代码主要集中在上游 Monorepo 组装、Rust 原生解析扩展、五种架构的多架构发布、旧数据卷自愈修复,以及后台只读的 SQLite Diagnostics 运行诊断页面。文章同时说明了根目录 Loader、id/ID 结果键兼容修复、挂载卷权限、WAL 备份与并发,以及需要核对实际 SQLite 引擎版本等容易忽略的限制。 阅读全文

把 MinIO 示例迁到 OtterIO:使用、部署与迁移验证

, , , , ,
前两篇文章把 OtterIO 的来龙去脉和代码线整理交代清楚了,这篇文章回到操作层面:如果过去的项目、文章示例、CI 环境或小型私有化部署里用了 MinIO,现在想切换到 OtterIO,应该怎么改镜像、怎么换环境变量、怎么部署、怎么验证迁移、哪些地方不兼容。文中给出一条 Docker 命令起 OtterIO、用 docker compose 跑多版本 MinIO 与 OtterIO 共存的可复现实验环境,再用 AWS CLI、s3cmd 通过标准 S3 API 把不同版本 MinIO 中的对象同步到 OtterIO,并用对象级 ETag/大小/数量做迁移校验,最后老老实实说明 mc admin、企业特性、商标与发行物层面的兼容边界。 阅读全文

Herald(鸦使):把验证码和通知,送到该送的人手里

, , , ,
Herald(鸦使)是一个轻量的 OTP 和验证码服务,适合 HomeLab、小团队内部工具和测试环境。它负责创建验证挑战、生成验证码,通过邮件、短信、钉钉等通道把验证码送出去,并完成校验、过期、限流与审计。它可以接在 Stargate 和 Warden 后面作为认证链路里的“送信人”,也可以独立运行,给内部后台、脚本和平台提供统一的验证码能力,并支持 Docker 部署与后续扩展真实发送通道。 阅读全文