搁置快一个月,终于把个人博客搬到了甲骨文的免费服务器上,整套流程跑通了。域名在 Spaceship 买的,前面套了一层 Cloudflare:走 CF 的 CDN,证书用 CF 签发的源站证书,服务器防火墙只放行 CF 的 IP 段,源站直接访问不到,还顺手开了 DNSSEC。

技术栈是 Next.js 16 + Payload CMS + PostgreSQL,整套用 Docker Compose 跑。写作后台是自己写的,能直接导入 Obsidian 笔记,写完就能发。

图床用的是开源的 CloudFlare-ImgBed,图片直接上传到 Telegram,不占服务器空间;评论和点赞用开源的 Artalk;访问数据接的是自己部署的 Umami,整套下来基本零成本。

搞 CDN 时踩过一个坑:一开始回源用的是 8443 端口,后来才发现 CF 不会缓存从这个端口回源的内容,改回 443 以后静态资源才开始走缓存。自己搭站的朋友可以直接避开这个坑。
博客本身也开源了,MIT 协议,想自己搭一个的朋友可以直接拿去用。