不依赖现成软件,一个人动手搭起属于自己的整套系统

AI新品汇

这里是AI新品汇,全球AI新产品的集散地,汇总最新发布、迭代与更新动态。

不依赖现成软件,一个人动手搭起属于自己的整套系统

去年年底,我把用了三年的某网盘会员退了。不是它不能用,而是我算了一笔账:一年两百多,五年下来一千多,存的东西却始终躺在别人的机房里,哪天政策一变、服务一停,我要么搬家要么认栽。同一时间,手机相册的“存储空间不足”提示弹了第三次。

于是就动了念头:能不能自己搭一套。密码、照片、笔记、文件、影音、阅读、下载、备份,全都放在自己家里那台小机器上,想加什么功能就加什么功能,不用等厂商更新,也不用担心哪天被下架。

这件事听起来吓人,实际上一个人就能做完。我前后花了大约三个周末,中间踩了几个坑,现在这套系统跑了半年多,日常在用。下面就把过程原样写出来。

一、先想清楚:自己搭到底图什么

我见过的动机大致有这么几类,先对号入座比较好:

  • 数据主权:照片、证件扫描件、工作文档不想长期放在别人的服务器上;
  • 摆脱订阅:云盘、密码管理器、笔记软件一年年续费,功能却不怎么变;
  • 功能自由度:想要一个能自动给票据分类、能全文搜索的文档库,现成产品里要么没有,要么在很贵的套餐里;
  • 纯粹折腾:这一类占比不小,也完全正当。

但也有一个必须提前接受的事实:自建不等于省钱,第一年基本是亏的。硬件一次性投入、时间成本、后续维护,都要算进去。如果只是想找个地方存几百 G 照片,老实说买个成品 NAS 或者续费网盘更划算。

二、用哪台机器开始

我的起点是一台闲置的旧笔记本,i5 八代、8G 内存、一块 512G 固态,跑了一个月,确认这东西确实会用,才换成迷你主机。

方案 大致价格 适合谁 注意点
闲置旧电脑/笔记本 0 元 完全没接触过,想先试试 功耗偏高,笔记本电池老化要留意
N100 迷你主机 1000~1600 元 大部分个人用户 单通道/双通道内存版本价格差不大,优先双通道
树莓派等 ARM 小板 400~800 元 跑轻量服务 内存有限,照片索引、转码这类任务吃力
成品 NAS 2000 元起 希望开箱即用、家人也能操作 硬件溢价明显,但省心,售后有保障

我最后选的是一台 N100 迷你主机,16G 内存、双 M.2 插槽,加一块 4T 机械硬盘做数据盘。整机待机功耗在 10W 上下,按家用电价算,一年电费三十几块,可以忽略。

硬盘这块我建议一开始就想清楚:数据盘之外,必须还有第二份备份。我第一周只挂了一块盘,后来想到“这块盘挂了,我五年的照片全没”,当晚就补了一块移动硬盘做定期同步。备份比任何花哨功能都重要。

三、底座:系统、容器、入口

系统我装的是 Debian,无桌面环境,装完只有命令行。这一步劝退不少人,但其实真正需要敲的命令不超过二十条,剩下的都是配置文件。

关键的三块是:

1. Docker 和 Compose

所有服务都用容器跑,一个服务一个 docker-compose.yml。好处是升级、回滚、迁移都简单——换机器的时候,把目录打包拷过去,重新 up -d 就完事了。管理界面我用了 Dockge,图形化编辑 compose 文件,比纯命令行顺手。

2. 反向代理和证书

所有服务统一走 443 端口,用 Caddy 做反向代理,证书自动申请自动续期。这一步做完,内部服务的地址就变成 photos.你的域名.com 这种形式,手机、电脑访问都统一,不再记一堆端口号。

3. 怎么在外面访问

这一步是最容易出事的。我分了两种情况:

  • 家里有公网 IP:做 DDNS,路由器上只映射 443 一个端口,其余全部关闭;
  • 没有公网 IP(大多数宽带都是这种):用 Tailscale 组虚拟内网,手机装个客户端就能连,配置量极小。

我属于后者。Tailscale 免费额度对个人够用,代价是每台设备都要装客户端。也考虑过用 VPS 加 FRP 做穿透,灵活一些,但多一台机器要维护,暂时没上。

顺便说一句安全的事。公网暴露的机器,日志里每天能看到几百上千次来自各地的登录尝试,这不是针对你,是自动化扫描。所以:管理后台不要暴露在公网、密码管理器必须走 HTTPS、开个 fail2ban、能开两步验证的服务全开。这些做完,风险就降到很低的水平了。

四、装什么:我实际的软件清单

这部分是重点。下面这张表是我目前真正在跑的,不是“听说过”的清单:

需求 我用的方案 实际体验
密码管理 Vaultwarden 官方客户端直接连,手机浏览器自动填充正常
照片备份 Immich 手机后台自动上传,人脸和地点识别都能跑,索引时 CPU 会飙一阵
文件同步 Syncthing 点对点,不经过中转,适合两三台设备之间同步
笔记 Memos + Obsidian 随手记用网页版,长文写在本地 Markdown,靠 Git 同步
影音 Jellyfin 局域网直接播放,N100 硬解 4K 没压力
音乐 Navidrome 手机端有第三方客户端,通勤听够用
稍后读 FreshRSS + Wallabag RSS 订阅和网页剪藏分开,剪藏的内容能全文搜
文档归档 Paperless-ngx 扫描件自动 OCR,找发票比翻抽屉快
服务监控 Uptime Kuma 哪个容器挂了手机能收到通知,很实用
代码托管 Gitea 自己的配置文件和脚本都往里扔
容器管理 Dockge 图形化改 compose,比命令行快
备份 Restic + 定时任务 加密增量备份到移动硬盘,每周一次

这套东西加起来,占用的内存不到 6G,N100 完全扛得住。

需要说明的是,这些开源项目大多由小团队或个人维护,更新节奏和稳定性不如商业产品。Immich 我升级过一次,遇到数据库结构变更,按官方文档迁移花了半小时。所以我的习惯是:升级前先看发布说明,重要服务升级前手动备份一次数据目录。

五、和现成方案比,到底差在哪

我不想把自建说得多完美。客观对比一下:

维度 自己搭 成品 NAS 公有云/订阅服务
首年成本 2000~3000 元(含硬盘) 3000 元以上 200~1000 元/年
长期成本 主要是电费和硬盘损耗 同左 年年续费,涨价风险
上手时间 几个周末 半天 几分钟
功能扩展 很自由 受套件商店限制 基本没有
出问题时 自己查日志 有客服和社区 平台负责
家人可用性 需要你维护 一般较好 最好

几个真实感受:

  • 成品 NAS 的溢价主要买的是省心。群晖、威联通、绿联、极空间这些,开箱就能用,手机 App 也做得成熟,家里老人小孩能自己操作。如果你不打算长期折腾,买成品完全是理性选择,我身边不少朋友就是这么选的。
  • 公有云盘不是不能用。日常同步、分享文件、跨设备传大文件,网盘的体验仍然是最好的那一档。我现在是两条腿走路:重要的、私密的东西放自己机器上,需要分享和协作的照样用网盘。
  • 自建最大的隐形成本是时间。装的时候是乐趣,跑起来之后是责任——系统要更新,硬盘要检查,备份要验证。半年里我大概花了两三个晚上处理各种小问题,这个频次我觉得可以接受,但不是所有人都愿意。

六、几个踩过的坑,写出来省得你再踩

硬盘没有冗余。 一开始单盘跑,后来想想不对,补了外置备份。RAID 不是备份,备份要在另一块物理设备上,而且定期做恢复演练——没恢复过的备份等于没有备份。

一次性装太多。 我第一周就想把清单上的全装上,结果配置混乱、端口冲突、自己都记不清哪个服务对应哪个域名。后来的做法是:一次只加一个服务,稳定运行一周再加下一个。

低估了照片索引的耗时。 三万多张照片第一次导入,Immich 跑了整整一夜,期间 CPU 一直满负荷,机器风扇响。建议放在晚上做,别在白天急着用的时候搞。

忘了给容器设自动重启。 有次断电恢复后,一半服务没起来,我还以为是系统坏了。加上 restart: unless-stopped 之后就没再出现过。

配置没进版本库。 所有 compose 文件和关键配置,我后来都放进了 Gitea。这个习惯救过我一次——某次误删目录,从仓库拉回来十分钟恢复。

七、什么人适合,什么人不适合

直接给结论:

适合自己搭的情况: - 有一台闲置设备,愿意先花几个周末试水; - 对数据放在哪里比较在意,愿意承担维护责任; - 有明确的“现成产品满足不了”的需求; - 能接受偶尔出问题需要自己查。

建议直接买成品或继续用订阅的情况: - 只是想要个存照片的地方,没有扩展需求; - 家里多人都要用,且你不会长期维护; - 工作忙,没把握持续投入时间; - 需要正规发票、售后和稳定 SLA 的场景。

我自己的结论是:这套系统值。它没让我省下多少钱,但让我对自己数据的去向有了掌控感,顺带把闲置的机器利用了起来,还弄明白了一堆原本模糊的概念。如果你也在犹豫,最省事的验证方式是——找台旧电脑,先装个 Docker,跑一个服务,用一周。能坚持下来,再谈“整套系统”。

准备好开始创造了吗?

加入创作者矩阵,用 码灵通 将您的想法变为现实。