起因
一直想搞一个属于自己的"数字总部"——博客、密码库、素材库、代码库全部 All-in-One。蓝图画得很漂亮,现实却一步步把我拉回地面。
第一次尝试:Vaultwarden + Ghost
最开始的想法很简单:先把密码管理搞定,再搭博客。
Vaultwarden 部署很顺利——Docker 一拉,Nginx 一反代,Let’s Encrypt 一签,5 分钟搞定。域名挂在 vault.wdouy.com,注册完账号立刻关闭公开注册。这一步没什么波折。
接着上 Ghost。Ghost 是个很成熟的博客系统,界面好看,手机写作体验也不错。但部署的时候踩了个坑:SQLite 的数据库路径没配对,容器一直重启。排查了一下日志,补上 database__connection__filename 就好了。
Ghost 跑起来之后,我又做了一个导航门户页挂在主域名 wdouy.com——暗色主题,卡片式布局,把博客、密码库、代码库、素材库的入口都放上去,已上线的显示绿标,规划中的显示灰色。
看起来一切都在按计划推进。
心态转折:All-in-One 的幻想破灭
但很快我就发现问题了。
我这台服务器只有 3.8GB 内存,跑完已有的服务剩余不到 2GB。而我蓝图里的 Immich(图片管理)单独就要 2-4GB,Authentik(统一登录)还要 1GB。资源根本不够全部跑起来。
更关键的是——我开始质疑自己是不是在用战术上的勤奋掩盖战略上的懒惰。搭这么多服务,真的是需求驱动吗?还是只是在享受"搭建"的过程本身?
密码管理?说实话我不会经常更新。素材库?文件丢在本地也能用。代码片段?GitHub Gist 不香吗?
想清楚之后,我把 Vaultwarden、Ghost、导航门户全部删了。 服务器回到干净状态。
第二次尝试:Hugo + PaperMod
冷静下来之后,我重新想了一下自己到底需要什么:
一个轻量、好看、不占资源的博客,能记录想法就行。
有人给我推荐了 Hugo + PaperMod。Hugo 是静态站点生成器,PaperMod 是一个简洁的主题。生成的是纯 HTML 文件,Nginx 直接托管,零内存占用。
部署过程极其简单:
# 安装 Hugo
wget hugo_extended_0.159.0_linux-amd64.deb
dpkg -i hugo.deb
# 创建站点 + 安装主题
hugo new site blog
cd blog
git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
# 写配置、写文章、生成
hugo --minify
Nginx 指向 /opt/blog/public,Certbot 签个证书,完事。
定制:牛皮纸配色
默认的 PaperMod 是黑白配色,太冷了。我想要一种老旧牛皮纸笔记本的感觉——温暖、有质感、像在翻一本真实的笔记本。
改了自定义 CSS:
- 背景色换成暖黄色
#f5e6c8 - 文字颜色换成深棕
#4a3c28 - 链接用金棕色
- 字体用 iOS 系统字体(SF Pro + PingFang SC)
- 暗色模式也做了对应的深棕皮革色调
效果出来的时候,我第一次觉得:这才是我想要的。
没有后台怎么办?
Hugo 最大的"缺点"是没有在线编辑后台。每次写文章都要 SSH 登录服务器、编辑 Markdown 文件、跑一遍 hugo --minify。
但转念一想,我有一个 24 小时在线的 AI 助手(程孟昊)。我只需要在 Telegram 里说一句"发一篇博客,标题xxx,内容xxx",它就能帮我写入文件并发布。
有时候最简单的方案就是最好的方案。
总结
| 阶段 | 做了什么 | 结果 |
|---|---|---|
| 第一轮 | Vaultwarden + Ghost + 导航门户 | 资源不够,全删了 |
| 反思 | 想清楚真正需要什么 | 只需要一个轻量博客 |
| 第二轮 | Hugo + PaperMod | 完美,零资源占用 |
| 定制 | 牛皮纸配色 + iOS 字体 | 终于满意了 |
教训:先想清楚需求,再动手。别被 All-in-One 的幻想绑架。