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
Henrique Miraldo 58bb5a2bbf
Translated using Weblate (Portuguese (Brazil))
2 days ago
.devcontainer Add devcontainer configuration 4 months ago
.github Revert #1044 1 month ago
.vscode Decompose i18n labels for Unifi widget 6 months ago
images new logo and styling tweaks 6 months ago
k3d Issue with dotnext PVC preventing normal deployments 2 months ago
public Translated using Weblate (Portuguese (Brazil)) 2 days ago
src Fix status error display 3 days ago
.all-contributorsrc Update .all-contributorsrc 5 months ago
.babelrc forcefully disable next-swc 7 months ago
.dockerignore added k3d test scripts 3 months ago
.editorconfig first public source commit 7 months ago
.eslintrc.json starting of widget refactoring 6 months ago
.gitignore Mikrotik widget (#720) 3 months ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 7 months ago
CONTRIBUTING.md Create CONTRIBUTING.md 7 months ago
Dockerfile Re-merge "use unprivileged user in a container" 2 months ago
Dockerfile-tilt added k3d test scripts 3 months ago
LICENSE Initial commit 7 months ago
README.md Update README.md 7 days ago
docker-entrypoint.sh Re-merge "use unprivileged user in a container" 2 months ago
jsconfig.json first public source commit 7 months ago
kubernetes.md added k3d test scripts 3 months ago
next-i18next.config.js Fix rate unit displays 4 months ago
next.config.js refactor i18n to be server side 6 months ago
package-lock.json initial 2 months ago
package.json rewrite minecraft server status widget to directly ping server 4 weeks ago
pnpm-lock.yaml rewrite minecraft server status widget to directly ping server 4 weeks ago
postcss.config.js first public source commit 7 months ago
tailwind.config.js starting of widget refactoring 6 months ago


A modern (fully static, fast), secure (fully proxied), highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels).

Linkedin - phelpsben

Docker Weblate


  • Fast! The entire site is statically generated at build time, so you can expect instant load times
  • Secure! Every API request to backend services goes through a proxy server, so your API keys are never exposed to the frontend client.
  • Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
    • Supports all Raspberry Pi's, most SBCs & Apple Silicon
  • Full i18n support with translations for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish and Yue
  • Service & Web Bookmarks
  • Docker Integration
    • Container status (Running / Stopped) & statistics (CPU, Memory, Network)
    • Automatic service discovery (via labels)
  • Service Integration
    • Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli, Plex and more
    • Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent and more
    • Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentik, Proxmox and more
  • Information Providers
    • Coin Market Cap, Mastodon and more
  • Information & Utility Widgets
    • System Stats (Disk, CPU, Memory)
    • Weather via OpenWeatherMap or Open-Meteo
    • Web Search Bar
    • UniFi Console, Glances and more
  • Instant "Quick-launch" search
  • Customizable
    • 21 theme colors with light and dark mode support
    • Background image support
    • Column and Row layout options

Support & Suggestions

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

For bug reports, please open an issue on the Issues page.

Getting Started

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

With Docker

Using docker compose:

version: "3.3"
    image: ghcr.io/benphelps/homepage:latest
    container_name: homepage
      - 3000:3000
      - /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

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:latest

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

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

Finally, run the server:

pnpm start


Configuration files will be generated 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.

You may also check the homepage site for detailed configuration instructions, examples and more.


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:


All Contributors