homepage README

The project's README from github.com/gethomepage/homepage. As one markdown file: README.md.

A modern, fully static, fast, secure fully proxied, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.

GitHub Workflow Status (with event)       Discord     GitHub Sponsors

Features

With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it.

Docker Integration

Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the Docker Service Discovery page for more information.

Service Widgets

Homepage also has support for hundreds of 3rd-party services, including all popular *arr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd-party APIs. See the Service page for more information.

Information Widgets

Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the Information Providers page for more information.

Customization

Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the Settings page for more information.

Getting Started

For configuration options, examples and more, please check out the homepage documentation.

Security Notice 🔒

Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system). To keep your information private, if Homepage is reachable from any untrusted network, it:

  1. must sit behind a reverse proxy (and/or VPN) that enforces authentication, TLS, and strictly validates Host headers.
  2. An optional built-in OIDC login flow or simple password login is available (opt-in) offering a simple “authenticated or not” guard.

With Docker

Using docker compose:

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    environment:
      HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
      PUID: 1000 # optional, your user id
      PGID: 1000 # optional, your group id
    ports:
      - 3000:3000
    volumes:
      - /path/to/config:/app/config # Make sure your local config directory exists
      - /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
    restart: unless-stopped

or 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

From Source

First, clone the repository:

git clone https://github.com/gethomepage/homepage.git

Then install dependencies and build the production bundle:

pnpm install
pnpm build

If this is your first time starting, copy the src/skeleton directory to config/ to populate initial example config files.

Finally, run the server in production mode:

HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev:1234 pnpm start

Configuration

Please refer to the homepage documentation website for more information. Everything you need to know about configuring Homepage is there. Please read everything carefully before asking for help, as most questions are answered there or are simple YAML configuration issues.

Development

Install NPM packages, this project uses pnpm (and so should you!):

pnpm install

Start the development server:

pnpm dev

Open http://localhost:3000 to start.

This is a Next.js application, see their documentation for more information.

Documentation

The homepage documentation is available at https://gethomepage.dev/.

Homepage uses Zensical for documentation. To run the documentation locally, first install the dependencies:

uv sync

Then run the development server:

uv run zensical serve # or build, to build the static site

Support & Suggestions

If you have any questions, suggestions, or general issues, please start a discussion on the Discussions page.

Troubleshooting

In addition to the docs, the troubleshooting guide can help reveal many basic config or network issues. If you're having a problem, it's a good place to start.

Contributing & Contributors

Contributions are welcome! Please see the CONTRIBUTING.md file for more information.

Thanks to the over 200 contributors who have helped make this project what it is today!

Especially huge thanks to @shamoon, who has been the backbone of this community from the very start.

homepage (gethomepage/homepage)

Searching Database…

33.2K ·GitHub
这是什么?Homepage 是一个完全静态、高度可定制的应用仪表盘(起始页),可以把服务小组件、Docker 容器状态、书签,以及天气、搜索等信息小组件集中在一个页面里。
这是桌面应用,还是需要我自己托管的程序?它是一个自托管的网页应用,需要你自己运行(通过 Docker,或从源码以 Next.js 应用的形式运行),然后通过浏览器访问;为了提升速度,它会预先生成静态页面。
我该怎么把它跑起来?最简单的方式是使用 Docker Compose 或 `docker run`。另外也可以克隆代码仓库,用 pnpm 安装依赖,将 `src/skeleton` 复制到 `config/` 以获取示例配置,然后构建并以生产模式运行。
安装前需要准备什么特别的东西吗?如果从源码运行,需要 pnpm 和 Node.js(它是一个 Next.js 应用);如果使用 Docker,只需要一台 Docker 主机。无需注册任何其他账户。
把它开放到我的网络上安全吗?如果它可以被不可信的网络访问,就必须放在反向代理或 VPN 之后,并启用身份验证和 TLS;或者你也可以启用内置的 OIDC 或密码登录作为基本防护。
这个项目到底是为谁设计的?它主要面向家庭实验室和自托管爱好者,这些人会运行多个服务(如媒体服务器、下载客户端、*arr 类应用),并希望用一个仪表盘查看和链接所有服务。
它支持哪些 CPU 架构?官方 Docker 镜像支持 AMD64 和 ARM64。
它会处理任何敏感的个人数据吗?会的——小组件可以获取个人信息,例如来自你的家庭自动化系统的数据,因此它会提醒你要谨慎保护访问权限。
Homepage 如何与我的 Docker 容器交互?它直接对接 Docker API,可以根据容器标签自动发现服务并添加到仪表盘中,同时显示容器状态和资源统计信息。
它内置了哪些自托管应用的小组件?支持 100 多种服务集成,包括热门的 *arr 类应用,以及 Radarr、Sonarr、Plex、Jellyfin、Transmission、qBittorrent 等自托管工具,还有更多。
我该如何配置仪表盘的布局和服务?所有内容都通过 YAML 文件进行配置(也可以通过 Docker 标签自动发现),涵盖服务、书签、小组件,以及自定义布局和主题设置。
它支持英语以外的其他语言吗?支持,Homepage 具备完整的国际化(i18n)功能,已翻译为 40 多种语言。
Size
56.1 MB
Stars
33.2K
Age
4y
Commits · 90 Days