All systems operational 12 elite locations · Europe & Asia Pay with crypto · 0 KYC
首页 / 指南 / 在免 KYC VPS 上自建 Uptime Kuma
指南

在匿名免 KYC VPS 上自建 Uptime Kuma

self host uptime kuma anonymous vps — private Uptime Kuma on a no-KYC VPS

在租用的 root 服务器上自己跑状态监控:一个 Compose 文件、一个数据卷,不对外发布。入门档标价 $6/月,年付预付 $4.80/月。

简答

在租用的 root 服务器上自己跑状态监控:一个 Compose 文件、一个数据卷,不对外发布。入门档标价 $6/月,年付预付 $4.80/月。

监控器也会给你建档

托管式监控恰好背叛了自己的承诺:那个守护你基础设施的服务,给你建立的档案往往比给它所监控对象建立的还厚。每一条被观测的 URL、每一次事故记录、每一个值班人员姓名、每一段延迟轨迹,都躺在别人的数据库里,而且通常挂在一个绑定你银行卡的账号之下。把检查器搬到匿名租用的 root 服务器上,就翻转了保管权——观测数据留在你自己的磁盘上、你自己的密钥之后、你自己选择的司法辖区之内。

Uptime Kuma 很适合这份工作:一个轻量的 Node 面板,执行 HTTP、TCP 和 ping 检查,保存心跳历史和通知钩子,分享页可用但并非必需。所有状态都集中在一个目录里——容器内的 /app/data,一个名为 kuma.db 的 SQLite 文件——整个应用因此归结为一个进程、一个文件夹、一个备份目标。上游仓库里有这套布局的说明。

服务商的部分到账单为止:你租到的是一片有 root 权限的 KVM 切片,而监控器、它的数据库、它的告警名单,完全归你运营,也归你折腾。规则手册里仍有一条管到这里:攻击流量及更恶劣的行为被一律禁止,所以只监控你有权监控的目标。一个监控器应该表现得像个礼貌、可预期的访客。

在安装之前先别把事情搞砸:逃离一个按监控收费的 SaaS,转身却用主邮箱加借记卡去注册替代品——等于把刚甩掉的档案又重建了一遍。账号设置属于项目本身:纯字符串凭据,或至少一个专用邮箱,免邮箱注册指南里有详细说明。监控器的隐匿性是在结算时决定的,从来不是在它的设置里。

在第一批检查落地之前先定规格,因为今天做这个决定很轻松,日后返工就很烦人。下一节算一笔实际的账:一个年轻的检查器消耗多少资源,增长在哪里堆积,以及一个要运转多年的面板,诚实的底线在哪里。数字比大多数人想象的要友好。

VPS $4.80* 起(年付期限),存储 1–5 TB NVMe 年付折合 $24/月起,带 IPMI 的独立服务器 $39.20/月起。加密货币账单,免 KYC。

立即启动

出生时安静,中年时能吃

刚出生时,这个应用只占用几十 MB 内存,每个心跳写一次盘——默认每个监控点 60 秒一个周期。增长沿两条轴同时到来。一是保留策略:每个监控点不断累积历史,直到被清理。二是渲染:面板要为每一行画延迟图表和预览卡片,监控点一多过一屏,这些绘图就开始和检查本身抢内存。

能同时吞下这两个阶段的底线,就是入门档:2 vCPU,来自 Ryzen 9 9950X;4 GB DDR5 ECC;80 GB NVMe;1 Gbps 不限流量端口;一个 IPv4 加一个 /64。几十个监控点加一个前置代理都能安然住下;等图表和检查抢内存时再扩容,不要提前。这个系列允许嵌套虚拟机,容器不需要任何特殊申请。

选 Core 套餐,标价 $6/月——12 个月预付为 $4.80/月——让检查器在里面打盹;年付意味着每 12 个月一张账单,没有任何自动扣款,这正合为一台注定被遗忘的机器准备的胃口。注意自带的 DDoS 防护不是什么:它不是面板的应用层防火墙。它守的是管道;面板自身的暴露面仍归你管。

按演示规模而不是按一年后的规模来选配置,是最常见的失误:三个监控点在哪里都能跑,于是最小的切片感觉取之不尽——直到四十个监控点、一个分享页和两年的历史一起到来,内存悄然见底。另一个伴生错误是把流量防护当成应用防火墙——它挡的是洪水,不是密码猜解。按增长做预算;同时坚持不让面板对外发布。

套餐选定后,安装只需五分钟,其中恰好包含一个对来年真正重要的决定:数据住在哪里。下一节会把整套栈搭起来,并把这个决定妥善锁定。其余一切都可以在一个下午重建;历史不行。

一个数据卷就是全部信仰

有且只有一样东西必须在容器重建之后活下来:/app/data。抹掉它,所有监控点、心跳和告警规则同时死亡。Compose 把它的保护变成两行声明——一个命名卷挂载到该路径。容器本身、它的镜像、它的日志策略,都是按设计可抛弃的;随时重建,下面的文件夹岿然不动。

从发行版自己的仓库安装 Docker——跳过那些便利脚本——然后用 rsync 把你现有的 Kuma 目录搬过去,本地构建:不用市场镜像,不在 registry 里赌运气,不把自己钉死在陌生人某一周的构建上。合适的 Compose 文件:context 为 ./uptime-kuma,restart: unless-stopped,端口发布为 127.0.0.1:3001:3001,挂载 kuma-data:/app/data,日志用 max-size: 10m 和 max-file: 3 封顶。Compose 参考文档解释了每个键。

用 docker compose up -d 启动;首次访问和任何初次见面一样——界面会在你到来时创建管理员账号,你将通过下一节的隧道访问它,检查则一个个添加。这些日志上限物有所值:一个没封顶的 json-file 日志流,在一个话痨容器上会月复一月地无声吞掉闪存,毫无回报。

两类经典故障都是挂载形状的。没有挂载:重建会无声抹掉历史——应用还在跑,损失几周后才以一张空白的可用性图表浮现。宿主机目录权限上下文不对:栈能启动,数据库写不进去,心跳一落地就蒸发。命名挂载同时绕开这两个坑,这就是为什么它在这里没有商量余地。

一个进程、一个挂载、一个只听回环接口的端口——足迹就是这三条事实,而它们恰好框定了下一个问题:面板只应答机器本身,因此访问必须在不对外发布的前提下存在。接下来是隧道——一条命令,零新增暴露面。这三条事实还对应重建后的三项验证:挂载还在、端口仍只听回环、日志上限仍然生效。

不发布也能进入

送给一台匿名机器最快的身份暴露方式,就是一个公网管理面板:证书透明度日志、扫描器和归档服务几小时内就会记下主机名。在 TLS 加真正的认证站到门前之前,把 3001 摁在回环接口上——而且不妨想想那一天是否真该到来,因为如今可用的隧道只花一条命令、零新增暴露面。

这条隧道就是一次本地转发:ssh -L 8400:127.0.0.1:3001 root@203.0.113.7,然后浏览器打开 http://localhost:8400,就像面板摆在你桌面上一样——示例地址来自文档保留段,请替换成你自己的。一切都走你终端已经在用的那条通道;没有任何新东西在监听;ssh 手册详细说明了这个参数。

要长住而不是短访,WireGuard 值得这份房租:用 wg-quick up wg0 拉起 wg0,监听 51820/udp,之后笔记本一睁眼,面板就在隧道空间里等着。它对漫游、断线重连和酒店网络的理解力,胜过任何转发的端口;上游快速入门从头到尾十分钟。

临时暴露会钙化:端口"就开放这个下午",到晚上三份扫描器索引已经把它收录。截图卫生排在第二:一张截到活跃会话 cookie 的面板图——要么轮换会话,要么裁掉画面,要么干脆在登录前拍摄。远程控制台的泄露从来都经由便利,而非经由数学。同样的纪律也适用于粘贴的错误文本和附带的截图:裁剪到目标为止,因为一张图所携带的信息往往超出作者所察觉的。

传输解决了,剩下的问题是这台机器开口为自己说话时说了什么——因为每一条检查出发时都带着自己的回信地址,而每个目的地都会把它记下来。这是任何隧道都消不掉的足迹;下一节完全属于它。把地址记下来一次,然后从那一分钟起把它当作公开信息——隐私住在账号里,从不住在线路上。

回信地址问题

支付方式改变不了物理层:每条检查都从这台机器的 IPv4 出发,每个目的地都会把这个地址写进自己的记录、限额和告警。加密货币账单买到了一个无主账号;它没给这些检查买到任何新出身。因此位置值得和规格一样深思熟虑——城市就是互联网看到的回信地址。

定价让选择保持干净:十二座城市基础成本完全一致,延迟和法律成了仅有的变量。冰岛(+20%)和瑞士(+35%)是仅有的两项列示加价——为司法辖区付费,不是为硬件。当管辖法律有分量时,选雷克雅未克或苏黎世;当告警速度压过文书时,选离目标近的。

使用条款对监控器格外严格:AUP(可接受使用政策)无一例外禁止攻击流量,所以一个猛锤端点、猜解登录或镜像自己无权拥有内容的"监控器",不是监控器,而是一起事故。只观测你有权观测的目标,以人类会称之为礼貌的间隔观测,这个工具就能保持无聊——这是极高的褒奖。HTTP 检查是 RFC 9110 下的标准化请求,没有任何更玄乎的东西。

身份从来不会从检查引擎里泄露;泄露的是它周围的管道。一个挂在带 WHOIS 信息的域名上的分享页,一句话就把低调的监控器和已知运营者配了对。绑定到个人聊天软件的告警 webhook,用同一只手给每条通知签名。两个解法都只隔一个设置页;两者在被检视之前都隐形,而检视终会到来。

把这台机器想象成一座小使馆:地址按设计公开,内部完全属于你,信使袋——也就是告警——从一个不带回执标签的侧门发出。这些袋子就是下一节的主题,因为通知管道正是自建监控器最常背叛主人的地方。

告警:吵闹的那一半

检查器本身几乎耳语:心跳写进 SQLite,图表留给那些通过隧道进来的人。身份是在通知链里积攒的——每一个 webhook URL、每一个 bot token、每一份 SMTP 凭据,都在为它们的创建者签名。实践中,自建监控器暴露运营者靠的正是这套管道,靠包检测暴露的几乎为零。

解法是为这台机器单独铸造凭据,就像任何其他租户理应做的那样。一个全新的聊天机器人拥有自己的 token 和会话;一个新的 webhook 指向自己的频道;一个只为 SMTP 告警而存在的专用邮箱。Kuma 在 Settings → Notifications 里按监控点绑定通知,每个条目都带一个 Test 按钮——在把整条链托付给关键时刻之前,逐个频道按一遍。

邮件告警还带一个额外的陷阱:邮件头。一封从你日常邮箱发出的信读起来像一份小传——姓名、服务商、传输轨迹——因为由 RFC 5321 管辖的邮件对它的信封是诚实的。身份泄露走的是你选的那个信封,不是协议本身。一个为此目的持有的域名上的地址,能让告警保持有用,而小传缺席。

"因为手头有"就复用个人 bot token,是此类错误的原型:此后每条告警都在作证,有一个人同时运营着这台监控器和那个机器人碰过的所有东西。紧随其后的是:设置期间无意间打开的分享页——一个复选框,发布你输入过的每个监控点名称,内部主机名也在内。第一周过后把这两处都审一遍;默认它们都没有自己保持关闭。

检查有礼,管道无声,剩下的义务只有一件:你喂了几个月的数据库需要一条退路,这台机器也需要一个超出入门档之后的计划。计划好是几分钟;临场发挥是几小时。这是运行手册之前的最后一节。每季度留一个晚上做同样的保养:轮换铸造的 bot token,重新按下每个频道的 Test 按钮,并把一份归档副本在全新的栈里恢复一遍。

退路:备份、镜像、更大的铁

这里没有人承诺替你守护磁盘——本目录不提供托管备份,快照是结算时的加购项:是回滚工具,不是归档。监控器真正的资产很朴素:一个命名卷里的 SQLite 文件,数月养成。小数据加慢累积,恰恰是最值得按计划做普通文件级副本的画像——或者住进一个密封的容器,正如 LUKS 指南所示。

这份工作只有三行:docker compose stop 让数据库安静下来,tar czf 打包挂载目录——用 docker volume inspect 找到它;命名卷住在 /var/lib/docker/volumes/ 下的 _kuma-data/_data——然后重新启动。当晚就把归档送出这台机器。Docker 存储指南画出了这些路径;stop 一步不可省略,因为停下的容器弄脏不了自己的副本。

在一个一次性项目里彩排一次恢复:新目录、同样的 Compose 文件、从归档还原的挂载、拉起栈、登录、数一数监控点。五分钟就把归档从假设变成了预案。更新也走同一条路:拉取你自己的目录、重建、拉起——命名卷把历史原封不动地渡过重建。

当检查器长成基础设施——前置代理、告警路由、一整年的图表——就去租 Forge,标价 $49/月,年付预付 $39.20/月,把同一份 Compose 文件带过去;上一节的归档一次拷贝就迁移完毕,挂载落地的样子和它居住时一模一样。把这次搬迁按晚上计,不按分钟计:停、归档、拷贝、拉起、验证、重测告警——正是每晚仪式早已演练过的那张清单。

背叛你的备份,是那份"活着的"备份:容器还在跑时对正在写入的 SQLite 下手,得到的归档恢复出来是半座数据库——而且是在宕机时才被发现,而不是之前。停、拷、启、在别处验证:每晚三十秒的停机,买下一次演练过的恢复。数据、访问和身份都已安顿,只剩下执行顺序了。

Uptime Kuma 机器的执行顺序

从账号开始,而不是从机器开始:纯字符串凭据或一个专用邮箱,先于任何基础设施存在——账号的隐匿性在注册时定型,此后不再。账号与钱包的完整篇,匿名 VPS 指南里有更长的剧本。同一动作里把规格也定了:入门档的两个核、4 GB ECC 内存和 80 GB 闪存,扛得住大多数监控任务。城市按到目标的延迟来挑,因为基础成本在任何旗帜之间都不动。

用早就想清楚的那个钱包付款;确认后大约一分钟,shell 就应答了。在装任何东西之前先加固:本地生成的密钥、空注释、装好公钥、禁用密码登录、校验配置、验证第二个会话。一台监控器要活好几年——这十分钟加固是本页最便宜的年均开销。

Docker 来自发行版,你的 Kuma 目录搬过去,一份 Compose 文件握着那条不可协商的行——数据路径上的命名卷——加上只听回环的端口发布和日志上限。拉起栈,隧道进入,到来时创建管理员。以人类的间隔添加检查;在依赖每个告警频道之前,先按下它的 Test。

公开面一次性、有意识地安顿好:分享页关闭,webhook 用为这台机器铸造的身份,SMTP 用那个专用地址。然后装上两个仪式——每晚的停-拷-启,从不归档一个正在写入的数据库;以及每季度的恢复彩排,让归档保持诚实。快照作为即时回滚补充文件副本;两者互不替代。

沿同一条轨道生长:同一个切片上加大检查量,直到图表和保留策略开始争吵,然后带着同一份 Compose 文件和挂载迁往更大的铁,归档就是搬家车。这套体系之所以塞得进一段话,是因为它生来如此:一个低调的账号,一台密封的机器,一个重要的挂载,一份异地的副本。按顺序执行这些步骤,监控器就会保持一个监控器应有的无聊。

入门档扛得住吗?

轻松。两个核、4 GB ECC 内存、80 GB 闪存,$6/月标价——年付预付 $4.80/月——能容纳几十个检查外加一个前置代理。只在保留策略和渲染开始抢内存时才扩容。

服务商会替我运营吗?

不会。卖出的是一片有 root 权限的 KVM 切片,参与到账单为止:Compose 由你操作,挂载归你所有,历史由你保管。付款到账后,服务商侧不会碰检查器一下。

分享页是个好主意吗?

只有在接受两种暴露的前提下才是:页面是公开的,且每位访客都会得知监控器的出身处。保持面板只听回环,私密查看走隧道进入,状态页只从不点名你的域名发布。

监控器应该放在哪里?

放在你和它所监控对象之间:按告警延迟来选,因为十二座城市基础成本完全一致。只有冰岛和瑞士带列示加价,所以法律和延迟才是真正的决策变量。

真正救下历史的是什么?

每晚对命名卷执行的停-拷-启,并在当晚把副本送出机器。停下的数据库弄脏不了自己的归档,而每季度的彩排会把那份归档从假设变成预案。

准备启动?

配置主机 — VPS、存储或裸金属服务器 — 设置密码,支付随后生成的账单。