当初拿旧笔记本搭建的 Homelab,到现在为止已经运行快两三年了,某种程度上也算是挺稳定的,所以今天特地来简单分享一下自己的配置和玩法。
配置
当前的配置如下图和下表所示:

硬件 | 型号 | 价格(元) | 作用 | 备注 |
---|---|---|---|---|
旧笔记本电脑 | 华硕 X456UJ | 0 | Homelab 主体,目前运行的是 Debian 11 系统,用于跑各种 Docker 程序 | 好像是大概 16 年花三四千买的?具体价格忘了 |
硬盘 | 4T 希捷酷鹰 X 2 | 628 + 566 | 用于存放影视剧资源,可视作个人网盘(没有组 RAID) | 京东上购买,后面存储不够又加了一块,没想到比第一次买的时候价格还低 |
硬盘笼 | 绿联 | 159 | 连接笔记本和硬盘 | 由于没有买 UPS,硬盘笼意外断电可能会造成损坏和数据丢失!!! |
小米路由器 | Redmi AX6000 | 386 | 软路由,刷了 ImmortalWrt 系统,主要用于 🪜,以及运行 WireGuard 内网穿透 | 京东上购买,现在没货了 |
交换机 | 绿联的八口千兆交换机 | 99 | 弥补路由器接口不足的问题 |
数据
容易注意到,设备列表中并没有 UPS 的身影 😂😂😂!(强烈建议不要模仿!!!)之前想补上这个设备的,但是琢磨了一下又觉得当下不是很有必要,因为硬盘存的都是 PT 站下的资源,大部分看完一次之后就不会再看了,就算丢失了自己也不心疼。。。(也许后面有需求了才会加)
但是话又说回来了,虽然机械硬盘里面的数据丢了不心疼,但是旧电脑里面运行的 Docker 容器数据等丢失了的话,那不得难受死,这也是我推荐使用旧笔记本电脑作为 Homelab 主体的原因之一。因为它有电池!!!就算意外断电,数据也不会丢失!
强烈建议想捣鼓 Homelab 的玩家使用旧笔记本电脑,它具有以下几个优点:
- 功耗低
- 自带 UPS
- 噪音小
除此之外,为了防止笔记本电脑本体数据丢失,我在最后还设置了两道防线:
- 运行 scrutiny 进行 S.M.A.R.T. 硬盘检测,通过 ntfy 进行告警通知
- 使用 alist 连接百度云盘。所有重要 Docker 的数据 volume 都映射到本地特定文件夹,每周对这个文件夹进行加密备份,并使用 rclone 上传至百度云盘
备份的目录结构大致如下:
├── compose
│ ├── alist
| | ├──data.db
| | ├──...
│ ├── lobe-chat
| | ├──data
| | ├──compose.yaml
│ ├── xxx
| | ├──...
│ ├── .env
│ ├── pass
│ ├── backup.sh
│ ├── ...
│ └── compose.yaml
网络
刚开始搭建 Homelab 时,我是在笔记本上运行了 ImmortalWrt
容器作为了旁路由,这样做有两个缺点:
- 设备入网需要配置网关才能使用 🪜
- 笔记本自身使用 🪜 比较麻烦,特别是更新某些 Docker 容器时
后来为了省心,搜了一下攻略,最终选择购买了 Redmi AX6000,刷了 ImmortalWrt
系统后,能够比较舒服的上网了。
其实我的电信宽带已经开通了公网 IP,搭配购买的域名以及服务器上运行的 Ngnix
,能很方便地访问家里的各种服务。但是个人害怕被电信查水表以及被爆破 😓,所以还是选用了 WireGuard
来进行内网穿透,只有少数服务可通过域名直接访问。
服务
目前我的 Homelab 运行的服务如下图所示:

简单介绍一下分组和部分容器的说明:
- Tools
一些好用的工具- bitwarden: 密码管理器。容器:
vaultwarden/server
- DDNS: 动态域名解析,公网 IP 必备。容器:
qmcgaw/ddns-updater
- gogs: 个人 git 项目管理。容器:
gogs/gogs
- ntfy: 消息推送服务。容器:
binwiederhier/ntfy
- searxng: 自定义搜索引擎。容器:
searxng/searxng
- TTRSS: 个人 RSS 服务。容器:
wangqiru/ttrss
,建议使用docker compose
部署。 - uptime-kuma: 站点监控工具。容器:
louislam/uptime-kuma
- wallos: 订阅费用追踪。容器:
bellamy/wallos
- bitwarden: 密码管理器。容器:
- Manager
- dozzle: Docker 日志查看面板。容器:
amir20/dozzle
- nginix-proxy-manager: Ngnix 转发。容器:
zoeyvid/npmplus
- portainer: Docker 管理面板。容器:
portainer/portainer-ce
- dozzle: Docker 日志查看面板。容器:
- Files
- scrutiny: 硬盘监控。容器:
ghcr.io/analogj/scrutiny:master-omnibus
- syncthing: 文件同步。容器:
linuxserver/syncthing
- syncthing relay server: Syncthing 的全局发现与中级服务。容器:
t4skforce/syncthing-relay-discovery
- scrutiny: 硬盘监控。容器:
- AI
- Dify: LLM 应用程序开发平台。源仓库:
https://github.com/langgenius/dify
,建议使用docker compose
部署。 - GPT_MJ_PROXY: chatgpt web 与 midjourney web 的整合 UI。容器:
ydlhero/chatgpt-web-midjourney-proxy
- lobe-chat:LLMs 聊天应用 Web 端。源码:
https://github.com/lobehub/lobe-chat
,建议使用docker compose
部署。 - one-api: OpenAI-compatible API 转发。容器:
justsong/one-api
。用于转发一些第三方站的 OpenAI API,不过考虑到速率问题,目前用 openrouter 其实是最佳方案了。 - Phoenix: 开源的 LLMOps 平台。容器:
arizephoenix/phoenix
。最近开始接触不久,可能会围绕它出一系列教程。 - prompt-optimizer: 提示词优化器。容器:
linshen/prompt-optimizer
。
- Dify: LLM 应用程序开发平台。源仓库:
- Media
- alist: 网盘以及云存储浏览管理。容器:
xhofe/alist
。 - jellyfin: 家庭影音系统。容器:
jellyfin/jellyfin
。 - qbittorrent: BitTorrent 客户端。容器:
linuxserver/qbittorrent
。主要用于下载资源。 - transmission: BitTorrent 客户端。容器:
linuxserver/transmission
。主要用于保种。
- alist: 网盘以及云存储浏览管理。容器:
感想
目前来说,各种好用的自托管服务其实还有很多,而且有时候感觉自己的工作和生活其实有点离不开这台搭建的 Homelab 了。
每天刷资讯新闻要用到 TTRSS,自动填写密码用 bitwarden,同步 obsidian 和其他的一些文件会用到 syncthing,下载影视剧和观看需要用到 qbittorrent 和 jellyfin。另一方面,用 prompt-optimizer 写初始 Prompt,用 lobe-chat 和 LLMs 聊天,用 dify 做一点小应用。
这些服务或多或少都有一些商业上的替代产品,但是为什么要自建呢?我想,这在一定程度上满足了自己的折腾欲望,同时也带给我一种对自己(数据)的掌控感(错觉)。
但是注意!!!切记做好备份!!!