没有服务器也能自托管:普通 Windows 电脑跑 5 个 Docker 容器

没有专用服务器也想自托管?小编整理了普通 Windows 电脑上能轻松跑的 5 个 Docker 容器:Jellyfin、Pi-hole、Vaultwarden、Syncthing 与 Uptime Kuma,附坑点和取舍。

想自己折腾家庭服务器,一看硬件清单就打退堂鼓?先说结论:手边这台日常用的 Windows 电脑,就能跑大部分常见的自托管服务。装好 Docker Desktop,下面这 5 个小工具占的资源,跟您开着的浏览器标签差不多。

小编把每个工具的用途、资源占用和最容易踩的坑都列出来了,您可以先看下面这张表,再挑感兴趣的往下读。

工具干什么用大致内存占用最大的坑
Jellyfin本地影音串流视使用情况而定媒体放在 Windows 盘里读取慢
Pi-hole全网络广告拦截50–150 MB53 端口被 Windows 占用
Vaultwarden轻量密码管理器50 MB 以内必须启用 HTTPS
Syncthing + Photoview手机照片同步与网页相册Syncthing 约 200 MB 以内不带 AI 识别和时间线
Uptime Kuma服务在线监控100–200 MB电脑睡眠时它也跟着离线

Jellyfin:把家里的影音串流到各种屏幕

Jellyfin 是免费开源的媒体服务器(简单讲,就是您自己的小型流媒体网站)。它会整理本地的电影、剧集和音乐,再推送到手机、智能电视或浏览器上,没有订阅费,也不收集数据。在 Windows 上用 Docker Desktop 跑它,其实是跑在 Windows 在后台管理的一个小型 Linux 虚拟机里。

存储位置会拖慢速度

坑主要在存储上。如果您的片子放在 C:\Media 这样的 Windows 盘里,Jellyfin 每次读取,Docker 都得跨过 Windows 和 Linux 的边界去共享文件,中间隔着一层协议,比原生 Linux 存储慢不少。

原文作者的实测是:扫描一个有 3000 个文件的文件夹,这种方式要将近三秒,原生存储几乎是瞬间。如果播放时转码的视频片段也写在同一个 Windows 盘上,还可能因为等文件落盘而卡顿。除了文件命名规则有点怪,作者对 Jellyfin 没有别的意见,觉得它还能更好,但毕竟免费,不好多挑。

Pi-hole:让家里每台设备都少看广告

Pi-hole 是整个网络的 DNS 过滤器。设备问“某个网站在哪”时,它会对照广告和追踪服务器的黑名单,碰到黑名单上的域名就直接不回答,广告请求根本发不出去,自然加载不出来。

好处是智能电视、物联网小设备这些装不了浏览器插件的东西,也一并被管住了。它在 Docker 里很省,一般占 50 到 150 MB 内存,CPU 几乎没压力。

Windows 已经占着 53 端口

在 Windows 上部署最常见的麻烦是端口:DNS 走的是 53 端口,而 Windows 里已有服务在监听它,Docker 想把 Pi-hole 绑到 53 端口通常会失败。解决办法有两种:关掉 Windows 的“Internet 连接共享(ICS)”服务,或者让 Pi-hole 只绑定某个具体的网卡地址,不要绑全部地址。

还有一点要提醒:如果路由器把 Pi-hole 设成唯一的 DNS,一旦您的电脑睡眠,或者因为 Windows 更新重启,全家设备都会断网,直到电脑醒来、Docker 重新启动。原文作者的做法是隔一段时间开一次、关一次,免得整个网络被拖下水。

Vaultwarden:轻量的自建密码管理器

要想正常用,必须上 HTTPS

Docker open to Vaultwarden and showing the Admin part open to diagnostics.

Vaultwarden 是用 Rust 写的开源密码管理器。官方 Bitwarden 面向企业,吃资源比较多;Vaultwarden 干的是同样的活,却只是一个很小的程序,内存占用不到 50 MB。数据存在 SQLite 数据库里,并且兼容官方的 Bitwarden 手机应用和浏览器扩展。

这个必须用 HTTPS。如果您在本地 IP 上用普通 HTTP 打开它,浏览器会禁用它所需的加密功能,保险库根本用不了;手机应用更是直接拒绝连接非 HTTPS 的服务器。

它会把密码、笔记和银行卡信息都存进加密数据库,等于在几乎不占资源的机器上,免费用上完整的 Bitwarden 体验。

真正的风险在数据丢失:硬盘坏了、断电赶在不巧的时候,或者 WSL 2 的虚拟磁盘损坏,SQLite 数据库就可能彻底没了,而且找不回来。所以请务必定期备份,别只存这一份。

Syncthing 与 Photoview:不靠云也能备份照片

不用云,也不要 AI 功能

Syncthing web interface on a Windows PC showing three shared folders marked “Up to Date” and an Android device named “iQOO 15” listed as disconnected.

Syncthing 是免费开源的文件同步工具,在电脑上很省心:它能把手机里的照片自动复制到电脑上的一个普通文件夹,不需要云,不需要账号,也不需要数据库。它直接在 Windows 上运行,通常内存占用远低于 200 MB,安静地待在系统托盘里。

它只管同步文件,所以人脸识别、按描述搜图、时间线这些功能您都没有。好处是照片就是 Windows 里的普通文件夹,用资源管理器或者“照片”应用就能翻。

需要补充的是,Syncthing 官方安卓应用已经停止维护,不过社区分支 Syncthing-Fork 还在更新,用起来不错。想在上面再加一个能在浏览器里翻的网页相册,可以选 Photoview:它会扫描文件夹、生成缩略图,这部分跑在 Docker 里。原文作者喜欢把两者搭着用,所以算作一个。

Uptime Kuma:盯着您其他服务的小哨兵

电脑离线时它也跟着离线

Uptime Kuma showing how to add a new status page and monitor.

Uptime Kuma 是自托管的监控面板,用来盯着网站、应用和网络设备是否在线。它会按您设定的间隔,定期检查 HTTP 地址、Ping、DNS 记录等,一旦有东西挂了,立刻通过 Discord、Telegram、邮件等方式提醒您。

它跟前面几个容器很搭,Jellyfin、Pi-hole、Vaultwarden 的状态都能在一个面板里看到,还能监控外部网站和局域网里的其他设备。它也很轻,内存大约 100 到 200 MB,CPU 几乎不动。

明显的缺点是:监控工具和被监控的服务在同一台机器上。电脑一睡眠、重启或者装 Windows 更新,Kuma 也跟着下线;等电脑醒来,它会把睡着的这段时间全算成“宕机”,一口气发出一堆误报。原文作者对此并不太在意。

普通电脑能跑,但不是万能的

在日常电脑上跑这些服务有它的边界:睡眠、重启、Windows 更新都会让服务掉线。原文作者到目前为止没出过什么大问题,也不打算停掉大部分容器。如果您的 Windows 电脑本来就每天大部分时间开着,那基本上已经够用了。

常见问题(FAQ)

没有专用服务器,真的能自托管吗?

可以。装好 Docker Desktop,上面这 5 个工具对资源的要求都不高,日常电脑够用。只是要接受电脑睡眠或重启时服务会暂时掉线。

Pi-hole 在 Windows 上启动失败,怎么办?

多半是 53 端口被占用。可以关闭 Windows 的 Internet 连接共享(ICS)服务,或者让 Pi-hole 只绑定指定的网卡地址。

Vaultwarden 为什么一定要 HTTPS?

在本地 IP 上用普通 HTTP,浏览器会屏蔽它需要的加密功能,保险库打不开;手机应用也不接受非 HTTPS 的服务器。

Jellyfin 的媒体文件放哪里最合适?

放在 Linux 原生存储上更快。原文作者实测,Windows 盘通过共享层读取,扫描 3000 个文件要近三秒,而原生存储几乎是瞬间。

电脑睡眠后,这些服务会怎样?

全部掉线。如果路由器把 Pi-hole 设成唯一 DNS,全家都会断网;Uptime Kuma 醒来后还会把睡眠时间算成宕机,发出一堆误报。

想了解更多,可以去看 Docker 官方的 Windows 安装文档,以及 Jellyfin 官方文档。