折騰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
建議
- 從簡單開始 - 先用樹莓派或舊電腦練手
- 功耗要考慮 - 7x24小時跑,低功耗很重要
- 數據要備份 - 重要數據至少兩份
- 遠程要搞定 - 不然出門就抓瞎
下一步計劃
- 再加一塊硬盤做RAID1
- 搞個軟路由玩玩
- 試試K3s
- 上太陽能供電(開玩笑的)
有HomeLab相關的問題歡迎評論區交流~