A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Ben Phelps dc6b172df9
Merge pull request #25 from AlexFullmoon/main
2 years ago
.github bump cache action to v3 2 years ago
images
public add support for custom and other remote icons 2 years ago
src Merge pull request #25 from AlexFullmoon/main 2 years ago
.dockerignore
.editorconfig
.eslintrc.json
.gitignore
Dockerfile
LICENSE
README.md add traefik service widget 2 years ago
jsconfig.json
next.config.js
package.json add ruTorrent widget 2 years ago
pnpm-lock.yaml add ruTorrent widget 2 years ago
postcss.config.js
tailwind.config.js

README.md

Homepage Preview

Docker

Features

  • Web Bookmarks
  • Service Bookmarks
    • Docker Integration
      • Status light + CPU, Memory & Network Reporting (click on the status light)
    • Service Integration
      • Currently supports Sonarr, Radarr, Ombi, Emby, Jellyfin, NZBGet, ruTorrent
      • Portainer, Traefik, Speedtest Tracker, PiHole
  • Homepage Widgets
    • System Stats (Disk, CPU, Memory)
    • Weather (via weatherapi.com)
  • Customizable
    • 21 theme colors with light and dark mode support

Support & Suggestions

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

If you have a more specific issue, please open an issue on the Issues page.

Getting Started

You can run the homepage from a docker container or locally using node.

With Docker

Using docker compose:

version: '3.3'
services:
    homepage:
        image: ghcr.io/benphelps/homepage:main
        container_name: homepage
        ports:
            - 3000:3000
        volumes:
            - /path/to/config:/app/config
            - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations

or docker run:

docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/benphelps/homepage:main

With Node

First, clone the repository:

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

Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):

pnpm install
pnpm build

Finally, run the server:

pnpm start

Configuration

Configuration files will be genereted and placed on the first request.

Configuration is done in the /config directory using .yaml files. Refer to each config for the specific configuration options.

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 doucmentation for more information: