One Dashboard for Your Whole Homelab with Homepage
A clean start page with links, live status and widgets for Pi-hole, Jellyfin, Immich and every other service you run.
Once you run a few self-hosted apps, remembering ports gets old. Homepage is an open-source dashboard configured with simple YAML files; it can show container status and stats from many popular services.
Mission steps
Start the container
Save the compose file below and run docker compose up -d. It creates a config folder with sample files.
Allow your address
Set HOMEPAGE_ALLOWED_HOSTS to the Pi's IP and port (or hostname) or the page will refuse to load.
Add your services
Edit config/services.yaml: one entry per app with a name, icon, link and description.
Add widgets
Many services have widgets that show live numbers; add the service's API key in its widget block.
Make it your browser home
Set the dashboard as the start page on every computer in the house.
Code
# docker-compose.yml
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
ports:
- "3010:3000"
environment:
HOMEPAGE_ALLOWED_HOSTS: 192.168.1.50:3010
volumes:
- ./config:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
# config/services.yaml
- Media:
- Jellyfin:
href: http://192.168.1.50:8096
icon: jellyfin.png
description: Movies and shows
- Network:
- Pi-hole:
href: http://192.168.1.50/admin
icon: pi-hole.png
description: Ad blockingTip: test every script on the bench before installing it in a moving machine.
Questions
Homepage or Homarr?
Both are good. Homepage is edited in YAML files and is very light; Homarr has a drag-and-drop editor in the browser. Pick the style you prefer.
Is mounting the Docker socket safe?
Mount it read-only as shown and never expose the dashboard to the internet. For stricter setups, use a Docker socket proxy container.