Homepage

简介

Homepage 是一个现代化、自托管、可高度定制的主页 / 起始页 / 应用仪表盘项目。它适合 homelab、NAS、自托管服务入口、团队内部工具导航等场景,可以通过 YAML 配置或 Docker Label 自动发现服务,并集成大量第三方服务 API 与信息组件。

项目定位:一个快速、安全、支持 Docker 集成和服务 API 集成的应用仪表盘。

核心特性

  • 静态生成与高性能:站点在构建时静态生成,加载速度快。
  • 安全代理 API 请求:后端服务 API 请求通过 Homepage 代理,避免直接暴露 API Key。
  • Docker 集成:支持读取容器状态、统计信息,也可以通过 Docker labels 自动发现服务。
  • 服务集成丰富:支持超过 100 个服务集成,覆盖常见自托管应用与 *arr 生态,例如 Radarr、Sonarr、Lidarr、Bazarr、Plex、Jellyfin、Emby、Transmission、qBittorrent、Deluge 等。
  • 信息组件:支持天气、时间、日期、搜索、系统状态、Glances 等信息展示。
  • 书签与链接管理:可以把常用服务、网页链接集中到一个统一入口。
  • 高度定制:支持主题、自定义 CSS / JS、布局、格式化、本地化等配置。
  • 多架构镜像:支持 AMD64 和 ARM64。
  • 多语言支持:支持 40+ 语言。

典型使用场景

  • 自托管服务统一入口。
  • Homelab / NAS 首页。
  • Docker Compose 服务看板。
  • 家庭服务器或内网服务导航。
  • 聚合服务状态、系统信息、天气和常用链接。
  • 为反向代理后面的多个服务提供统一起始页。

Docker Compose 示例

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    environment:
      HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # 按实际域名或域名:端口配置
      PUID: 1000
      PGID: 1000
    ports:
      - 3000:3000
    volumes:
      - /path/to/config:/app/config
      - /var/run/docker.sock:/var/run/docker.sock:ro # 可选,用于 Docker 集成
    restart: unless-stopped

docker run 示例

docker run --name homepage \
  -e HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 3000:3000 \
  -v /path/to/config:/app/config \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --restart unless-stopped \
  ghcr.io/gethomepage/homepage:latest

从源码运行

git clone https://github.com/gethomepage/homepage.git
cd homepage
pnpm install
pnpm build
pnpm start

开发模式:

pnpm install
pnpm dev

打开:http://localhost:3000

配置方式

Homepage 主要通过配置文件管理:

  • YAML 配置文件
  • Docker labels 自动发现服务
  • 自定义主题、布局、CSS、JS
  • 服务 widgets 与信息 providers

官方文档提供了完整配置说明,实际使用前建议优先阅读文档。

安全注意事项

Homepage 本身不计划内置认证层。如果将 Homepage 暴露到不可信网络,必须放在反向代理或 VPN 后面,并由外部组件负责:

  • 身份认证
  • TLS
  • Host Header 校验
  • 访问控制

内置 host check 只能作为基础防护,不能替代正式的安全边界。

技术信息

  • 类型:自托管应用仪表盘 / startpage / homepage
  • 技术栈:Next.js、Docker、YAML 配置
  • 镜像:ghcr.io/gethomepage/homepage:latest
  • 默认端口:3000
  • GitHub Stars:约 30k
  • GitHub Forks:约 1.9k

链接

  • GitHub:https://github.com/gethomepage/homepage
  • 官方文档:https://gethomepage.dev/
  • Docker 镜像:ghcr.io/gethomepage/homepage:latest