组建家庭服务器往往受制于硬件清单,许多人认为必须购置专用主机。但实际上,现有的Windows电脑足以胜任大部分任务。通过Docker Desktop,用户可以在Windows上运行多种轻量级实用工具,其资源占用甚至低于浏览器标签页。

Jellyfin:本地媒体流式传输

Jellyfin是一款免费开源的媒体服务器,可整理并流式传输本地的电影、剧集和音乐至手机、智能电视或浏览器。它无需订阅且不收集用户数据。在Windows PC上,它通过Docker Desktop在后台的小型Linux虚拟机中运行。

存储配置是影响性能的关键。若媒体文件位于Windows驱动器(如C:\Media),Docker需跨越Windows/Linux界限共享文件,该协议层速度远慢于原生Linux存储。例如,扫描含3000个文件的文件夹在跨系统模式下需近三秒,而原生存储几乎瞬间完成。此外,若在播放期间向同一Windows驱动器写入数据,流媒体可能因等待文件保存而停滞。

Pi-hole:全网广告屏蔽

Pi-hole充当网络DNS过滤器,根据黑名单拦截广告和跟踪服务器的域名请求,使广告无法加载。该方案对网络内所有设备(包括无法安装插件的智能电视和IoT设备)自动生效。其在Docker中运行精简,通常仅占用50至150 MB内存,CPU负载极低。

在Windows上部署Pi-hole面临端口冲突挑战。由于Windows已有服务监听DNS默认的53端口,Docker绑定该端口时通常会失败。解决方案包括禁用Windows互联网连接共享(ICS)服务,或指定Pi-hole绑定特定网络地址。此外,若路由器将Pi-hole设为唯一DNS服务器,当宿主机睡眠、重启或更新时,全网设备将失去互联网访问权限。

Vaultwarden:轻量级密码管理

Vaultwarden是用Rust编写的开源密码管理器,相比资源密集的企业级Bitwarden,它仅凭一个不到50 MB内存的小二进制文件即可实现相同功能,并将数据存储在SQLite数据库中,兼容所有官方Bitwarden应用及浏览器扩展。

部署Vaultwarden必须启用HTTPS。若通过纯HTTP在本地IP访问,浏览器会阻止加密功能,移动应用也将拒绝连接。尽管其核心优势在于低资源消耗和免费使用,但存在数据丢失风险:若驱动器故障、电源中断或WSL 2虚拟磁盘损坏,SQLite数据库可能永久丢失且无法恢复。

Syncthing与Photoview:照片备份与浏览

Syncthing是一款免费开源的文件同步工具,可直接在Windows上运行,通常占用不到200 MB内存。它能自动将手机照片同步至电脑普通文件夹,无需云服务、账户或数据库。由于仅同步文件,用户可避开AI人脸识别等复杂功能,直接在文件资源管理器中浏览照片。鉴于官方应用已停止维护,建议使用社区分支Syncthing-Fork。

若需网页相册体验,可搭配使用Photoview。它在Docker中运行,负责扫描文件夹并构建缩略图,与Syncthing结合可形成完整的本地照片管理方案。

Uptime Kuma:服务状态监控

Uptime Kuma是一个自托管监控仪表板,用于检查网站、应用和网络设备的运行状态。它定期检测HTTP端点、Ping和DNS记录,并在故障时通过Discord、Telegram或邮件发送警报。作为其他容器的伴侣,它可集中监视Jellyfin、Pi-hole等服务,自身仅占用约100至200 MB内存。

其主要局限在于监控工具与被监控服务位于同一台机器。当宿主机休眠、重启或更新时,Uptime Kuma也会离线,并在唤醒后将睡眠时间误判为停机时间,触发误报警报。

日常PC运行的局限性

在日用Windows PC上运行上述服务存在固有局限,休眠、重启和系统更新均会导致服务暂时离线。但对于一台大部分时间处于开启状态的电脑而言,这套方案已能满足基本的家庭服务器需求。