折騰HomeLab兩年多了,從最開始的樹莓派到現在的小主機,分享一下我的配置。
什麼是HomeLab
簡單説就是在家裏搭一套服務器環境,用來:
- 學習各種技術(Docker、K8s、網絡)
- 跑一些自用服務(NAS、下載機、智能家居)
- 代替各種雲服務(省錢+隱私)
我的設備清單
主力機:小主機
| 項目 | 配置 | 大概價格 |
|---|---|---|
| 型號 | 零刻SER5 | 1200-1500元(二手) |
| CPU | AMD R5 5560U | - |
| 內存 | 16G DDR4 | 150-250元(自己加的) |
| 硬盤 | 512G NVMe | 自帶 |
| 功耗 | 待機10W,滿載35W | - |
選這個的原因:
- 6核12線程,性能夠用
- 功耗低,7x24小時開着電費也不高
- 體積小,放桌角不佔地方
- 有兩個2.5G網口
存儲:外掛硬盤
| 項目 | 配置 | 大概價格 |
|---|---|---|
| 硬盤盒 | 奧睿科雙盤位 | 150-200元 |
| 硬盤1 | 希捷酷鷹4T | 300-450元(二手) |
| 硬盤2 | 西數紫盤4T | 300-450元(二手) |
為啥不買NAS?
- 貴
- 我的需求用Docker掛載外置硬盤就夠了
- 以後想升級再買
網絡設備
| 項目 | 配置 | 大概價格 |
|---|---|---|
| 路由器 | 小米AX3000 | 150-250元 |
| 交換機 | TP-LINK 5口千兆 | 50-80元 |
夠用就行,沒折騰軟路由。
其他
| 項目 | 用途 | 大概價格 |
|---|---|---|
| UPS | 防止突然斷電 | 80-150元(二手) |
| USB風扇 | 給硬盤散熱 | 15-30元 |
總花費
小主機: 1399
內存: 199
硬盤盒: 169
硬盤x2: 778
路由器: 199
交換機: 59
UPS: 89
風扇: 19
合計: 約2500-3500元
看個人選擇,豐儉由人。
## 軟件配置
### 系統
裝的Ubuntu Server 22.04,穩定省心。
基礎配置
timedatectl set-timezone Asia/Shanghai
apt update && apt upgrade -y
apt install -y docker.io docker-compose
### 跑的服務
用Docker Compose管理所有服務:
docker-compose.yml
version: '3.8'
services:
# 反向代理
nginx-proxy-manager:
image: jc21/nginx-proxy-manager
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./nginx/data:/data
- ./nginx/letsencrypt:/etc/letsencrypt
restart: always
# 文件管理
filebrowser:
image: filebrowser/filebrowser
ports:
- "8080:80"
volumes:
- /mnt/data:/srv
- ./filebrowser/database.db:/database.db
restart: always
# 下載器
qbittorrent:
image: linuxserver/qbittorrent
ports:
- "8081:8081"
- "6881:6881"
volumes:
- ./qbittorrent/config:/config
- /mnt/data/downloads:/downloads
environment:
- PUID=1000
- PGID=1000
restart: always
# 影音服務
jellyfin:
image: jellyfin/jellyfin
ports:
- "8096:8096"
volumes:
- ./jellyfin/config:/config
- /mnt/data/media:/media
devices:
- /dev/dri:/dev/dri # 硬件解碼
restart: always
# 相冊
immich-server:
image: ghcr.io/immich-app/immich-server:release
# ... 配置省略
# 智能家居
homeassistant:
image: homeassistant/home-assistant
network_mode: host
volumes:
- ./homeassistant:/config
restart: always
# 密碼管理
vaultwarden:
image: vaultwarden/server
ports:
- "8082:80"
volumes:
- ./vaultwarden:/data
restart: always
# 監控
uptime-kuma:
image: louislam/uptime-kuma
ports:
- "3001:3001"
volumes:
- ./uptime-kuma:/app/data
restart: always
### 服務清單
| 服務 | 端口 | 用途 |
|------|------|------|
| Nginx Proxy Manager | 81 | 反向代理 |
| FileBrowser | 8080 | 文件管理 |
| qBittorrent | 8081 | 下載 |
| Jellyfin | 8096 | 影音播放 |
| Immich | 2283 | 照片備份 |
| Home Assistant | 8123 | 智能家居 |
| Vaultwarden | 8082 | 密碼管理 |
| Uptime Kuma | 3001 | 服務監控 |
## 遠程訪問
家裏沒公網IP,外網訪問用的星空組網,把小主機、筆記本、手機組到一個虛擬局域網裏,P2P直連速度快。
現在不管在哪:
訪問文件: http://10.26.0.100:8080
看電影: http://10.26.0.100:8096
看照片: http://10.26.0.100:2283
延遲低,速度快,比內網穿透體驗好。
## 網絡架構
┌─────────────┐
│ 互聯網 │
└──────┬──────┘
│
┌──────┴──────┐
│ 路由器 │
│ 192.168.1.1 │
└──────┬──────┘
│
┌────────────┴────────────┐
│ │
┌──────┴──────┐ ┌──────┴──────┐
│ 小主機 │ │ 交換機 │
│ 192.168.1.100│ │ │
│ (10.26.0.100)│ └──────┬──────┘
└──────┬──────┘ │
│ ┌─────┴─────┐
┌──────┴──────┐ │ 其他設備 │
│ 硬盤盒 │ │ │
│ USB3.0 │ └───────────┘
└─────────────┘
## 日常維護
### 自動更新Docker鏡像
用Watchtower自動更新
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
--schedule "0 0 4 *" # 每天凌晨4點
### 備份
!/bin/bash
backup.sh
BACKUP_DIR="/mnt/data/backup"
DATE=$(date +%Y%m%d)
備份Docker配置
tar -czf $BACKUP_DIR/docker_$DATE.tar.gz /home/lab/docker/
保留7天
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
### 監控
Uptime Kuma監控所有服務,掛了釘釘通知我。
## 省了多少錢
| 服務 | 雲服務 | 自建成本 |
|------|--------|---------|
| NAS存儲 | 雲盤會員 | 0 |
| 影音服務 | 視頻會員 | 0 |
| 密碼管理 | 付費訂閲 | 0 |
| 相冊 | 雲存儲 | 0 |
| **每年合計** | **幾百到上千** | **電費** |
一年省800多,兩年多就回本了。
## 折騰心得
### 值得
- 學到很多東西(Docker、網絡、Linux)
- 數據完全自己掌控
- 可以隨便折騰,不怕玩壞
### 坑
- 功耗:一開始用台式機當服務器,一個月電費50+,後來換成小主機好多了
- 噪音:機械硬盤吵,放客廳受不了,後來放到儲物間
- 散熱:夏天硬盤温度50+,加了個USB風扇才降下來
- 斷電:有次停電,硬盤直接掛了一塊,後來買了UPS
### 建議
1. **從簡單開始** - 先用樹莓派或舊電腦練手
2. **功耗要考慮** - 7x24小時跑,低功耗很重要
3. **數據要備份** - 重要數據至少兩份
4. **遠程要搞定** - 不然出門就抓瞎
## 下一步計劃
- [ ] 再加一塊硬盤做RAID1
- [ ] 搞個軟路由玩玩
- [ ] 試試K3s
- [ ] 上太陽能供電(開玩笑的)
---
有HomeLab相關的問題歡迎評論區交流~