Home ServersRecruit

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.

LevelRecruit
Time45 min
Est. cost~$87
Steps5

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

  1. Start the container

    Save the compose file below and run docker compose up -d. It creates a config folder with sample files.

  2. Allow your address

    Set HOMEPAGE_ALLOWED_HOSTS to the Pi's IP and port (or hostname) or the page will refuse to load.

  3. Add your services

    Edit config/services.yaml: one entry per app with a name, icon, link and description.

  4. Add widgets

    Many services have widgets that show live numbers; add the service's API key in its widget block.

  5. 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 blocking

Tip: 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.