如果你玩过群晖、威联通、飞牛、绿联、极空间或者 UNRAID,大概都做过同一件事:买回来的第一天先创建存储池,第二天打开 SSH,第三天开始安装各种软件,最后把一台 NAS 折腾成了家庭服务器。

然后问题就来了:

如果我通过 CLI 安装软件,把 NAS 的操作系统跑挂了怎么办?

这个问题不分用户水平。Linux 小白担心误删系统文件,爱好者担心升级依赖翻车,开发者和运维人员则更清楚,软件源、内核、驱动、网络规则、磁盘空间和容器权限,任何一个地方出问题,都可能让系统进入不可预期的状态。

如果你是 Arch Linux 用户,大概率见过甚至亲手经历过“滚挂”。通用 Linux 的自由很迷人,但自由的另一面是:系统升级、安全补丁、依赖兼容和故障恢复,很多时候都需要自己负责。

所以,面向开发者的 NAS,不应该只问“能不能装软件”,而应该问:

它能不能让我放心折腾,同时把系统、应用和数据的风险隔离开?

第一层需求:系统可以重建,数据不能跟着消失

从我在懒猫微服上的实际观察来看,它对 Linux 做的第一件重要事情,就是把“系统环境”和“用户要长期保存的内容”分开。

通过 Neofetch 等工具可以看到,宿主环境基于精简的 Debian 12。系统默认没有安装所有常用工具,例如某些版本里可能没有 sudohtophttpie 等软件,不过拿到 root 权限后,可以使用 apt 安装。

但这里有一个和普通 Debian 服务器很不一样的地方:懒猫微服会在重启后还原大部分系统层改动,而 /root 等约定目录中的内容可以保留。

例如,我可以把初始化脚本放在:

1
/root/init.sh

然后通过 systemctl --user 在启动后重新安装自己需要的软件。这样,系统环境即使被还原,我自己的脚本、配置和数据仍然存在,开发环境也能自动恢复。

这并不意味着“怎么折腾都绝对不会坏”。任何给了 root 权限的 Linux,都不应该做这种承诺。更准确的说法是:懒猫把可恢复的系统环境与需要持久化的用户内容做了边界划分,降低了长期修改宿主系统的必要性。

官方文档中提到的三层系统模型,也不能简单理解成“Debian、懒猫 OS、应用商店”三个普通软件层。更准确的理解是:

  1. 最底层负责设备启动、基础网络和系统更新;
  2. 中间的业务操作系统负责应用调度、资源与网络管理;
  3. 最上层是 LPK 应用及其容器运行环境。

开发者平时通过 SSH 看到的 Debian 环境,更接近业务操作系统的一部分,而不是把一套未经处理的 Debian 直接暴露给用户。

这个设计解决了“我不小心把系统玩坏怎么办”,但另一个问题仍然要依靠厂商:

如果系统自身出现漏洞或者 CVE,谁来负责更新?

答案是厂家远程 OTA,和云计算一样。

用户可以维护自己的应用,却很难长期维护 NAS 的内核、驱动、系统服务和硬件适配。一个产品化 NAS 的基础系统必须由厂商持续更新。分层文件系统解决的是可恢复性,OTA 解决的是生命周期与安全补丁,两者不能互相替代。

第二层需求:先把数据放稳,再谈上面的应用

NAS 爱好者喜欢中心化存储池。群晖和威联通提供 Web 文件管理器,UNRAID 更偏向存储与容器平台,而懒猫微服把“懒猫网盘”放在了整个用户体验的中心。

它看起来更像百度网盘、阿里云盘这类普通用户熟悉的产品:上传、下载、移动、分享文件,不必先理解 Linux 挂载点、容器卷和文件权限。

但对开发者来说,更重要的是网盘背后的数据关系。

懒猫应用的持久化数据会进入系统约定的数据目录。例如应用的持久化目录可以在 /data/app/var 下看到,Devshell 的临时工作区则位于 /data/app/cache。开发环境可以销毁,应用可以重新安装,而真正的数据应该脱离临时容器的生命周期。

这也是容器平台最基本却最容易踩坑的一条原则:

容器可以删除,数据卷不能跟着删除。

懒猫网盘不仅是用户上传文件的地方,也可以成为访问应用数据和外接磁盘的统一入口。我的旧 Windows 硬盘通过 Type-C 接入后,系统能够自动识别并挂载 NTFS 分区,网盘页面也可以直接浏览其中的文件。对于不会 Linux 的用户来说,它是一个文件管理器;对于开发者来说,它是宿主机存储、应用数据与外部设备之间的可视化入口。

SMB、WebDAV 和 Time Machine,一个都不能少

图形化网盘解决的是“人如何管理文件”,SMB 和 WebDAV 解决的是“设备和软件如何访问文件”。

懒猫网盘可以通过 SMB 在 Windows、macOS 和 Linux 中挂载,也可以通过 WebDAV 供 Obsidian、文件同步工具和其他客户端使用。我的实际使用场景包括:

  • Windows 映射网络驱动器;
  • 电视盒子通过 SMB 播放视频;
  • Obsidian 通过 WebDAV 同步笔记;
  • Steam 游戏库放到网盘;
  • Mac 通过 SMB 把懒猫微服作为 Time Machine 目标。

Time Machine 最终会在共享目录里创建 .sparsebundle 文件,备份内容也可以从网盘中看到。这种能力没有多么炫技,但它决定了一台设备能不能真正融入家庭的数据流。

外接磁盘同样重要。移动硬盘可以用于导入资料、抢救旧电脑数据,也可以作为备份链路的一部分。不过,“能够挂载外接磁盘”和“已经建立可靠的自动灾备”是两回事。

NAS 不是备份,RAID 也不是备份。重要数据仍然应该遵循至少两条原则:

  1. 保留一份与主存储分离的副本;
  2. 对误删除、勒索软件和整机损坏分别设计恢复方案。

把数据集中到 NAS,只是第一步。能否验证备份、定期恢复,以及设备损坏后能否接管数据,才是灾备真正完成的标志。

第三层需求:不是“支持 Docker”,而是把不同 Docker 分开

作为开发人员或者运维人员,我们几乎每天都要和容器打交道。很多 NAS 都支持 Docker,但懒猫微服真正有意思的地方,不是简单地在系统里预装了一个 docker 命令,而是同时维护了三个用途不同的 Docker 环境。

根据我对系统的拆解,它们分别是:

命令主要用途Socket / 数据边界
docker运行部分系统组件默认系统运行环境
pg-docker用户的 Playground,用于自由部署和测试独立 Socket、数据目录和命名空间
lzc-docker运行懒猫商店中的 LPK 应用独立 Socket、数据目录和命名空间

pg-dockerlzc-docker 并不是重新发明了一套 Docker CLI。它们通过包装脚本设置不同的 DOCKER_HOST,连接各自的 Docker Socket;后端则使用独立的 daemon 配置、data-rootexec-root、PID 文件和 containerd namespace。

这套设计最实际的价值,是把三类工作负载拆开:

  • 系统组件由系统维护;
  • 用户自己拉镜像、写 Compose,放在 Playground;
  • 应用商店负责安装、升级和删除 LPK 应用。

用户在 Playground 里部署失败,不应该直接污染商店应用;商店卸载某个应用,也不应该删除其他环境中的容器。对于普通用户,这种隔离可能没有存在感;对于开发者,它意味着更容易定位问题,也更适合做实验。

Dockge 等图形工具默认可以管理 Playground,熟悉命令行的用户也可以直接使用 pg-docker。如果需要把自己的应用上架商店,则通过 lzc-clilzc-build.ymllzc-manifest.yml 打包成 LPK。

社区应用生态就是在这套机制上建立起来的。我在 2025 年记录时,懒猫商店的应用数量已经超过 1000,既包括官方应用,也包括社区开发者移植的开源项目。对用户来说是点击安装;对开发者来说,背后仍然是熟悉的镜像、Compose、环境变量、持久化目录和 HTTP 路由。

第四层需求:远程访问不应该从端口映射开始

传统 NAS 的远程访问,常见路线是公网 IP、DDNS、端口映射、HTTPS 证书、反向代理,再逐个处理服务账号和权限。

这套方案并不是不能用,我也折腾过很多年。但服务一多,端口和域名越来越难管理;更重要的是,一旦把管理后台或应用接口暴露到公网,就要长期面对扫描、弱口令、组件漏洞和零日攻击。

懒猫微服的思路不同。客户端负责设备登录和连接,系统根据网络条件尝试建立直连;网络条件不足时,再使用中继。用户访问应用时使用统一域名,不需要为每个应用在路由器上创建端口转发。

这类架构的优势不是“永远没有漏洞”,而是默认减少公网暴露面。攻击者不能像扫描公开 IP 和端口那样,轻易发现家里的每一个服务。

它当然也有代价。远程访问会更依赖厂商的控制面、中继服务和长期运营能力。平台发生故障时,本地数据还在,但远程体验可能受影响。所以选择这种方案,本质上是在做风险交换:

  • 少承担公网入口和端口维护的风险;
  • 多依赖厂商的账号、网络与服务基础设施。

对我来说,这个交换是值得的。因为即使是专业用户,也不想每天都做自己家里的服务器运维。

传输加密和磁盘加密,不要混为一谈

谈到安全,很容易把“传输加密”和“磁盘加密”放在一起。但从我现有的实测文章来看,目前能明确确认的是远程连接、HTTPS 和传输链路的安全能力,不能仅凭这些推导出“NAS 数据盘已经提供原生全盘加密”。

这是两个完全不同的问题:

  • 传输加密保护数据在网络中不被窃听;
  • 静态加密保护硬盘被拆走、设备丢失或送修时的数据。

如果厂商或具体系统版本提供磁盘加密,还需要继续确认密钥放在哪里、重启后如何解锁、磁盘损坏时如何恢复,以及开启加密后是否仍能提供官方数据救援。我的旧硬盘文章也验证了另一个现实:BitLocker 等加密会提高数据恢复门槛;而我此前记录的售后说明中,数据恢复服务也存在“不加密”的前提。

因此,在没有新的实测或官方说明之前,不应直接把“磁盘加密”写成已经验证的产品能力。更稳妥的说法是:懒猫微服在减少公网暴露和保护传输链路方面有明确设计,但静态数据加密应按具体型号、系统版本和恢复方案单独确认。

前面是 Infra,下面才是应用平台

当存储、容器和网络问题被平台解决后,开发者真正能获得的是一个长期在线的应用运行环境。

你可以在上面运行数据库、中间件、Git 服务、监控工具、个人知识库和 Web 应用。本地电脑关机之后,服务仍然运行;出门在外,也不必先回家修改路由器配置。

懒猫的 LPK 应用模型为 Web 应用提供了几种路由方式:

  1. file:// 托管前端静态文件;
  2. http://https:// 把请求代理到后端服务;
  3. exec:// 在启动程序后把请求转发到指定端口。

从开发者视角看,这就是平台帮你接管了一部分 HTTP 七层入口。应用不必各自处理公网端口、域名和基础 HTTPS 接入,开发者可以更专注于自己的服务。

OIDC:别让每个应用再维护一套账号

应用多了以后,账号系统会迅速变成另一种运维负担。

懒猫微服内置了 OIDC 身份能力。应用在 lzc-manifest.yml 中声明回调路径后,平台可以向运行环境注入 Client ID、Client Secret、Issuer、Token 和 UserInfo 等相关配置。

这件事对开发者很有价值。以前上架一个 Web 应用,除了业务本身,还要考虑用户注册、登录、密码找回、Session 和权限;接入 OIDC 后,应用可以使用微服现有的用户身份,减少重复造轮子。

OIDC 解决的是“你是谁”,HTTP 路由解决的是“请求去哪儿”,容器解决的是“程序在哪儿运行”,持久化目录解决的是“数据放在哪儿”。

这四件事组合起来,懒猫微服才不只是一个能运行 Docker 的 NAS,而更像一个家庭场景中的轻量 PaaS。

Devshell:在目标环境里调试,而不是打包后碰运气

应用开发最怕一种情况:本地运行正常,打包上架后才发现路径、依赖、网络或者环境变量不对。

懒猫提供的 Devshell 可以创建一个容器化开发环境,把本地项目同步到微服,在接近真实的应用环境中安装 Node.js、Python 等依赖并运行服务。配置里的 routes 还能把开发端口映射到可访问域名。

这里也需要纠正一个容易误导的说法:Devshell 的体验有点像远程开发机,但它本质上更接近容器和 docker exec,不是一台完整虚拟机。

对于调试 OIDC、平台环境变量、路由和持久化目录,这种方式比“本地写完直接上传”可靠得多。开发完成后,可以继续打包 LPK、安装测试,再提交商店。

至于 MCP,它很适合运行在这类 24×7 在线、能够提供 HTTPS 入口和身份认证的设备上。我们可以在懒猫微服中部署自己的 MCP Server、知识库或自动化服务,但这属于“平台适合承载 MCP 应用”,不等于系统已经提供原生 MCP 管理能力。在没有对应实测前,二者不要混写。

HDMI、键鼠和 Linux 桌面:NAS 也可以直接面对人

有些人会问:既然底层是 Linux,能不能直接接显示器使用?

我很早以前就在威联通的 HDMI 输出上尝试过 Ubuntu。我手上的懒猫微服 x86 机型提供 HDMI 和 USB 接口,在影音上主要是“懒猫智慧屏”。

懒猫智慧屏是商店中的独立应用。通过 HDMI 连接显示器后,可以打开微服应用和浏览器;USB 接入键盘、鼠标后,也可以进行本地交互。它更像是把 NAS 上的 Web 应用和服务直接搬到大屏幕,而不是宿主机默认启动一个传统 GNOME 桌面。

这类轻量桌面环境称为 LightOS,更准确的表达是:懒猫微服可以通过智慧屏、虚拟机和容器化桌面,为 HDMI 与图形化 Linux 提供多种实现方式。还有几条不同路线:

  • 在Light OS环境安装图形组件,通过 XRDP 远程使用;
  • 在虚拟机中运行 Debian、Ubuntu、Windows 或其他系统;
  • 在容器中运行带 Web VNC、浏览器桌面或图形界面的 Linux 环境。

容器可以被用得很像轻量虚拟机,但容器与虚拟机仍然有不同的内核边界和隔离模型。对于需要内核、驱动或强隔离的工作负载,应优先使用真正的虚拟机;对于浏览器、IDE、日常 Linux 工具和可重建的开发桌面,容器环境通常更轻巧。

最后再说 Dashboard

传统 NAS 的 Web Portal 通常像一套浏览器里的桌面系统:文件管理器、控制面板、应用商店、资源监控都放在同一个页面。

懒猫微服的产品逻辑不太一样。

设备绑定、用户与系统设置等操作主要集中在全平台客户端中;网页端更像应用 Dashboard,用户看到的是已经安装的服务入口。访问应用时使用域名,PC 和移动端看到的内容也比较一致。

这个设计对普通用户比较直接:登录客户端,点击应用即可使用,不需要记住 IP、端口和每个服务的管理地址。

对于传统 NAS 玩家,它也有一个适应过程。因为我们习惯先进入控制面板,再从系统视角寻找存储、网络和服务;懒猫则更偏向“服务导向”,先把应用交给用户,再把底层系统藏在后面。

我认为一个面向开发者的 Dashboard,最终应该同时照顾两类需求:

  • 普通用户看到文件、应用、备份和设备状态;
  • 高级用户能够继续进入日志、容器、网络、存储和开发工具。

隐藏复杂度不等于取消控制权。懒猫最有价值的地方,恰恰是客户端和应用商店负责简单,SSH、Docker、Devshell 和开发工具继续保留深度。

我们到底需要什么样的 NAS?

写到这里,答案其实已经比较清楚了。

我们需要的 NAS,首先必须把数据放稳。它要提供网盘、SMB、WebDAV、Time Machine、外接磁盘和清晰的持久化目录,让不同设备与应用围绕同一份数据工作。

它还应该允许开发者折腾,但不要求用户把每一次实验都变成宿主系统的永久修改。系统可以还原,开发环境可以重建,应用可以重新部署,真正需要长期保存的内容则留在明确的数据边界里。

它不能只是在设置里放一个“支持 Docker”的开关,而应该区分系统组件、用户实验环境和商店应用,减少工作负载之间的互相污染。

它也不应该要求每个家庭用户都成为网络安全工程师。远程访问、域名、HTTPS、身份认证和应用路由,应当尽可能成为平台能力,而不是让用户为每个容器重复搭建一遍。

最后,它还要给开发者留下出口:SSH、root、Docker Compose、OIDC、Devshell、LPK、虚拟机和 HDMI,一个都不一定是普通用户每天使用的功能,但它们决定了这台设备的上限。

懒猫微服并不完美。它的远程体验依赖厂商服务,生态成熟度仍需要时间,静态磁盘加密等能力也应该按版本继续核实。但它至少提出了一种不同于传统 NAS 的答案:

普通用户不必学习运维,开发者也不必交出自由。

对于普通用户,它是一朵放在家里的私人云。

对于开发者,它是一台长期在线、可以部署应用、承载数据、提供身份与网络入口的家庭服务器。

也许我们真正需要的 NAS,本来就不应该只是一个会联网的硬盘盒。

它应该是一台以数据为中心、以应用为边界、允许用户继续创造的个人计算平台。