2核4G的小水管云机器,我跑了这些服务,496天没重启
导读:一台年付不到 199 块的小机器,替掉了 Trello、剪藏工具、远程开发环境,还顺手给我手机推通知。这篇把它上面常驻的 5 个服务一个个摊开讲,再补几个我试过、按需开的,附一张真实的内存账本和我踩过的坑。
早上登上机器,顺手敲了个uptime。
11:08:33 up 496 days, 22:47, 1 user, load average: 0.02, 0.06, 0.01496 天。这中间我换过项目、搬过工位、手机都换了两台,这台机器一次没重启。
负载 0.02,基本等于在睡觉。
很多人对云服务器的想象是「跑业务、扛流量」,我这台刚好反过来——它是我个人的工具间。写代码、记东西、管任务、收通知,全塞在里面。
先报配置,省得猜。
![]()
一、Nginx:API 的中转层
最不起眼的一个服务,用得最多。
我拿它干一件事:把国内不好直连的 API,收拢到一个自己的域名下。
https://util.xxx.com/v1 → https://api.openai.com/v1
https://notion.xxx.com/v1 → https://api.notion.com/v1好处不是「能连上」这么简单。是所有脚本、快捷指令、客户端里只填一个地址,哪天要换线路、换账号、加限速,改一处 nginx 就全生效。
配置文件不用整段抄,记住三行就够:
location /v1 {
proxy_pass https://api.openai.com/v1;
proxy_ssl_server_name on; # 不加这句,上游直接 403
proxy_set_header Host api.openai.com; # Host 头必须改成上游域名
}再加一句proxy_buffering off;,流式输出才会一个字一个字地吐,不会憋到最后一次性刷出来。
说句实在的:这种中转只给自己用。加个 IP 白名单或者 basic auth,别裸着挂公网,不然你的 key 就是别人的 key。
二、code-server:浏览器里的 VS Code
coder/code-server,GitHub 上快 8 万 star,MIT 协议。
装完就一个端口,浏览器打开就是熟悉的 VS Code:插件、终端、Git、多文件搜索,全都一样。
我用它的场景很具体——临时在别人电脑上、在公司、在手机上,想改一个文件、跑一条命令。以前只能干着急,现在开个网页就行。
几个真实体会:
• 插件能装,但不要装重型的。4G 内存的机器,语言服务器开两个就开始卡
• 在
files.watcherExclude里把大目录排掉,别让它监听整个工作区,不然 CPU 会被吃满• 一定要套 HTTPS,前面用 nginx 反代,别直连 8080 端口
它不是让你放弃本地 IDE。它是那种「一年用二十次,但每次都很救命」的东西。
![]()
三、Planka:任务看板放自己手里
plankanban/planka,12.6k star。自托管的看板,长得像 Trello,逻辑也一样。
起因很朴素:任务都扔进 Things 里,列表是列表,看不出一件事卡在哪个阶段。以前公司用 Trello,那套「待办 / 进行中 / 等确认 / 已完成」的泳道,确实比 GTD 直观。
但我不想把项目进度交给别人的服务器。Planka 一套 Docker Compose 起来,数据躺在我自己的 Postgres 里,导出、备份、随时搬走。
用了一年多,它在跑什么状态?Up 12 months (healthy)。
有个细节值得说:它默认要一个 Postgres。小机器上这是最吃内存的一个组件,后面「账本」那节会讲怎么压。四、Bark:一条 curl 推到 iPhone
Finb/Bark,9.3k star,MIT,两端全开源。iOS 上一个 App,服务端一个容器。
它解决的是「我要让脚本主动告诉我」。
监控脚本发现站点挂了、定时任务跑完、服务器磁盘过 80%——一条 POST 就推到手机锁屏:
curl -X POST "https://bark.xxx.com/你的Key" \
-H 'Content-Type: application/json' \
-d '{"title":"磁盘告警","body":"根分区已用 82%","group":"server"}'返回{"code":200,"message":"success"}就完事。
为什么不用微信/钉钉机器人?因为 Bark 是系统级通知,能响、能震动、能进通知中心历史。机器人消息你不点开就等于没看见——告警这事上,这个区别很大。
五、Memos:碎片扔进去,博客自己来取
usememos/memos,6.3 万 star,Go 写的单文件服务。
定位是「碎片笔记」,交互像发微博:写一句、加个标签、发出去。
我不在它的网页里看这些字。我的博客直接调它的 API,把「只言片语」那一栏渲染出来。想到什么写进 Memos,博客自动就有了动态,不用登后台、不用重建站。
顺带说个我一直没升级的原因:我机器上跑的还是比较老的版本,而现在官方已经更到 0.31 了(今年 9 月发的),中间加了网页剪藏插件、重写了 Markdown 编辑器。
不升不是懒,是这套东西能跑就别动。真要升,先在快照上试一遍。
还能往上加:三个我试过、按需开的服务
上面 5 个是常驻的,装完基本不用再管。
下面这三个我也装过、跑过挺长一段时间,现在是按需启动。不是不好用,是 4G 内存得算账。
六、Uptime Kuma:把「它有没有一直在」变成看得见的
louislam/uptime-kuma,9.2 万 star,MIT。
一句话说清它干什么:定时去敲你所有服务的门,敲不开就喊人。
HTTP、TCP、Ping、DNS、证书到期、关键字匹配,都能当探针。默认 60 秒一轮,我调到 20 秒。它还自带一个漂亮的状态页,能公开挂出去——别人问你「你这站点稳不稳」,给个链接就行。
最舒服的是它和 Bark 的联动:Kuma 发现服务挂了,webhook 推一条给 Bark,手机立刻响。监控 + 推送,这才是闭环,光有其中一个都是半成品。
内存大概 120MB(Node + 内置 SQLite)。装的时候一定选 SQLite,别给它配 MySQL,那个组合在小机器上纯属自找麻烦。
![]()
七、Vaultwarden:40MB 跑一个密码库
dani-garcia/vaultwarden,6.9 万 star,AGPL-3.0,Rust 写的。
它是 Bitwarden 服务端的非官方轻量实现。官方全套要跑一堆容器,它一个容器 40MB 就顶下来了,而且 Bitwarden 的官方客户端全都能连——浏览器扩展、iOS、安卓、桌面版,一个不用换。
我用了大半年,体验上和官方服务没区别:自动填充、TOTP、附件、组织共享都在。
两句提醒,都是要紧的:
•必须走 HTTPS,admin token 设长一点。这东西装的是你所有密码,不是博客,裸奔等于把家底挂公网
•备份就两样:SQLite 单文件 +
attachments目录。定时 rsync 到 NAS,齐活
CorentinTh/it-tools,4 万 star,GPL-3.0。
JSON 格式化、时间戳转换、Base64、UUID 生成、正则测试、JWT 解析、crontab 表达式、哈希计算……几十个小工具,全在一个页面里。
这东西的价值不在功能多,在于你不需要把内网地址、JWT、密钥粘到别人的网站上。这类网站有多少在偷偷记你输入的东西,谁也说不准。
它是纯静态的,连 Docker 都不用,扔进 nginx 的目录就完事,内存占用基本可以忽略。
有几种东西,别硬塞
顺手劝一句:看到「热门自建服务榜」就照着装,小机器迟早要还债。
•Immich / Nextcloud 这类,官方自己都说 4G 起步。4G 上去的结果不是「慢」,是系统三天两头被 OOM Killer 杀进程,你还找不到原因
•Gitea(5.8 万 star)确实能在 4G 上跑,但一次
git gc、或者 clone 一个大仓库,CPU 会瞬间拉满,整个机器跟着卡。想稳就升配置,别指望它跟静态页一样听话
判断方法很简单:看官方文档写的最低内存,然后往上加 50%。那是「能启动」的线,不是「能天天用」的线。
4G 内存的账本
这是最多人问的部分。5 个服务,4G 内存,够吗?
看真实数字(docker stats常驻值,非峰值):
服务
常驻内存
端口
Nginx(宿主直装)
~15 MB
443
反代,几乎不占
code-server
~180 MB
8090
不开语言服务器时
Planka
~150 MB
3000
Node 应用本体
Planka 依赖的 Postgres
~120 MB
内部
调过 shared_buffers
Bark
~30 MB
Go,轻得离谱
Memos
~60 MB
5230
同 Go 系
加起来不到 600 MB。剩下一个多 G,是 Docker 守护进程、系统本身,还有我留给编译和临时任务的余量。
前面说的那三个按需服务如果全开,再加 170MB 左右,总共 750MB 上下——4G 还撑得住,但就没余量了。这也是我为什么让它们按需启动,而不是开机自启。
能塞下,靠的是三条纪律:
1.全部 Docker +
restart: unless-stopped,重启机器不用手动拉服务2.能 SQLite 就别上数据库。只有 Planka 非它不可,才带了个 Postgres
3.日志必须限大小,不然迟早撑爆 40G 硬盘
买机器走官方渠道就行,别去第三方代购,出问题没人管:
• 阿里云:
y.xgss.net/a• 腾讯云:
y.xgss.net/tx
复制到浏览器打开,走的是官方活动页,价格和我这里一样,不会多收你一分钱。
最后:什么该上云,什么别上
跑了这么久,我有个很朴素的判断标准:
要「一直在」的,上云。要「存东西」的,放 NAS。
推送服务、API 中转、看板、代码环境、密码库——这些的价值在于随时随地能访问,机器一关就废,所以值得花钱让它一直活着。
照片、影视、备份——这些是容量生意,放云上就是按月交租,放 NAS 一次买断。
我这台机器每月不到 60 块。同样的功能,如果全用订阅制:看板 10 刀、笔记 10 刀、远程开发环境 20 刀起……一个月就是两百多。
不是自建省钱,是自建只需要付一次「电费」。
如果你也想搞一台这样的机器,有句话得先说:别一上来就冲高配。2 核 4G 完全够跑这一套,等你真的跑出瓶颈了再升级,那时候你才知道自己缺的是内存还是 CPU。
国内的话,我一般走阿里云或者腾讯云的轻量,年付活动机 2 核 4G 百来块就能拿下,续费价记得提前看清楚,别被首年价忽悠。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.