一句话定位:自托管服务统一入口仪表盘,把你NAS上所有容器(Dozzle、Jellyfin、Vaultwarden、DTK等)集中放一个页面,一键跳转,还能实时看容器运行状态、读取服务API数据,无数据库,轻量,yaml配置,非常适合群晖。
官网:gethomepage.dev 镜像:ghcr.io/gethomepage/homepage:latest
✅ 核心亮点(对你的环境很实用)
- Docker自动发现(王牌功能)
给容器加一行label标签,Homepage自动识别、自动加到面板,不用手动写链接;读取
docker.sock,实时显示容器是运行/停止状态。 - 超多服务内置对接组件 Jellyfin、Vaultwarden、qBittorrent、UptimeKuma等,不仅是跳转链接,还能直接展示实时指标(资源、任务、状态)。
- 小组件Widgets:系统资源、天气、搜索框、服务器信息,自由排布。
- 书签分组:内网工具、外网网站,分类管理。
- 主题自定义、暗色模式、支持PWA、可选密码登录。
- 资源占用低:镜像很小,内存占用几十MB;不需要数据库,全部配置存yaml文本,备份只需要复制文件夹。
和Dozzzle搭配:首页点Dozzzle卡片直接跳转日志面板,一套homelab运维入口。
📁 群晖 Container Manager:文件夹准备(必须手动建)
路径:/volume2/docker/homepage
volume2
└── docker
└── homepage ← 手动新建文件夹
└── config ← 里面放4个yaml配置文件,容器初次启动自动生成
操作:File Station进入/volume2/docker,新建homepage文件夹,空文件夹即可,容器启动自动在内部生成config目录与4个yaml文件:
services.yaml:服务链接与docker自动发现配置(最常用)widgets.yaml:小组件bookmarks.yaml:网页书签settings.yaml:全局设置、标题、语言、主题
📌 端口说明
容器内部端口:3000
宿主机映射默认:3000:3000
检查端口占用:SSH执行
sudo netstat -tulpn | grep 3000如果3000占用,改为3001:3000,访问地址:http://NASIP:3001
📄 Compose yaml(群晖Container Manager项目直接粘贴)
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /volume2/docker/homepage:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
HOMEPAGE_ALLOWED_HOSTS: localhost,127.0.0.1,192.168.0.51
/var/run/docker.sock:ro只读挂载,安全!只读取docker信息,不能操作容器,比Dozzzle挂载更安全。192.168.0.51替换成你的NAS内网IP。
🚀 Container Manager 创建项目完整步骤
- Container Manager → 左侧【项目】→【创建】
- 项目名称:
homepage(小写) - 撰写文件:选择【新建撰写文件】,粘贴上面yaml
- 【环境】保持默认
- 【网络】默认bridge
- 勾选【启动项目】→下一步→完成
访问地址
http://NASIP:3000
🧩 配置示例(直接写进 services.yaml,把你现有服务加到首页)
进入 /volume2/docker/homepage/config/services.yaml,写入分组示例:
- 运维工具:
- Dozzle:
icon: dozzle
href: [http://192.168.0.51:8080](http://192.168.0.51:8080)
description: 容器实时日志
- Homepage:
icon: homepage
href: [http://192.168.0.51:3000](http://192.168.0.51:3000)
description: 服务导航面板
- 自建服务:
- Vaultwarden:
icon: vaultwarden
href: [https://home.511yj.com](https://home.511yj.com)
description: 密码管理器
- Jellyfin:
icon: jellyfin
href: [http://192.168.0.51:8096](http://192.168.0.51:8096)
description: 媒体库
修改yaml保存后,重启homepage容器,页面立刻生效。
⚠️ 安全要点
- sock用
:ro只读,Homepage只能读取容器状态,不能启停容器,安全。 - 内网裸奔没问题;公网访问,必须套群晖反向代理+HTTPS,建议开启Homepage密码认证。
- 所有配置是纯文本yaml,备份直接复制整个
/volume2/docker/homepage文件夹。
✨ 进阶:Docker标签自动发现(推荐后续给Dozzzle等容器加上)
以Dozzzle为例,在Dozzzle的compose环境增加labels,Homepage自动识别,不用手动写services.yaml:
labels:
- homepage.group=运维工具
- homepage.name=Dozzzle
- homepage.icon=dozzle
- homepage.href=[http://192.168.0.51:8080](http://192.168.0.51:8080)
- homepage.description=容器实时日志
❓ 常见报错
- Bind mount failed:
/volume2/docker/homepage不存在 → File Station手动新建文件夹 - 打开页面空白/无法加载:检查
HOMEPAGE_ALLOWED_HOSTS,NASIP填写正确 - 看不到docker容器状态:确认
/var/run/docker.sock:ro挂载没有漏写