selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

homescreen-hero logo

Self-host homescreen-hero

0.6.0

Plex companion for homescreen management and server insights

BetaOpen SourceMIT
Updated6 months ago
LanguageTypescript
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
197
Port
8000 (Web UI)
Requires
Plex Media Server
Docker
trentferguson/homescreen-hero
Install with Docker Compose
homescreen-hero dashboard demo showing the web UI with widgets and collection management

What is homescreen-hero?

homescreen-hero is a self-hosted web application for Plex users who want to manage their homescreen collections. It rotates collections on a schedule using configurable groups and selection methods. Users can restrict which Plex accounts see specific collections. The app pulls collection data from several third-party services and can request missing media through Seerr. A drag-and-drop dashboard shows server status, stream activity, integration health, and library statistics. Built-in utilities fix added dates, clean watch history, and generate unwatched reports. Login options include a local password, Plex OAuth, or both. Deployment options are Docker Compose, a Windows portable build, or a manual Python setup. Data lives in a SQLite database.

Should you self-host homescreen-hero?

homescreen-hero scores 46/100 on selfhost.directory (how scoring works) and ranks #78 of 118 in Media Server. It has 197 GitHub stars.

It shipped 8 stable releases in the past year. The latest, 0.6.0, came out on 19 March 2026. New versions land roughly every 4 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 744 stars). It scores higher overall, so compare the two before you pick. See homescreen-hero vs Jellyfin side by side.

Features

  • Authentication
  • Backup & Restore
  • Collection Rotation
  • Collection sharing
  • Per-User Targeting
  • Plex Tools
  • Smart Groups
  • Theme CustomizationDark mode only; light mode not yet available
  • Third-Party List Sync
  • Web Dashboard
  • Widgets

homescreen-hero README

How to install homescreen-hero

Install homescreen-hero with Docker Compose

Docker and Docker Compose installed
Environment variables
HSH_PORT, HSH_PLEX_URL, HSH_PLEX_TOKEN, HSH_AUTH_PASSWORD, HSH_AUTH_SECRET_KEY, HSH_TRAKT_CLIENT_ID, HSH_MDBLIST_API_KEY, HSH_TMDB_API_KEY, HSH_TAUTULLI_API_KEY, HSH_TAUTULLI_BASE_URL, HSH_SEERR_API_KEY, HSH_SEERR_BASE_URL

services: homescreen-hero: image: trentferguson/homescreen-hero:latest container_name: homescreen-hero ports: - "${HSH_PORT:-8000}:8000" environment: HOMESCREEN_HERO_CONFIG: /data/config.yaml HOMESCREEN_HERO_DB: sqlite:////data/homescreen_hero.sqlite HOMESCREEN_HERO_LOG_DIR: /data/logs HSH_PLEX_URL: ${HSH_PLEX_URL:-} HSH_PLEX_TOKEN: ${HSH_PLEX_TOKEN} HSH_AUTH_PASSWORD: ${HSH_AUTH_PASSWORD:-} HSH_AUTH_SECRET_KEY: ${HSH_AUTH_SECRET_KEY:-} HSH_TRAKT_CLIENT_ID: ${HSH_TRAKT_CLIENT_ID:-} HSH_MDBLIST_API_KEY: ${HSH_MDBLIST_API_KEY:-} HSH_TMDB_API_KEY: ${HSH_TMDB_API_KEY:-} HSH_TAUTULLI_API_KEY: ${HSH_TAUTULLI_API_KEY:-} HSH_TAUTULLI_BASE_URL: ${HSH_TAUTULLI_BASE_URL:-} HSH_SEERR_API_KEY: ${HSH_SEERR_API_KEY:-} HSH_SEERR_BASE_URL: ${HSH_SEERR_BASE_URL:-} volumes: - ./data:/data restart: unless-stopped healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:8000/api/health"] interval: 30s timeout: 5s retries: 3

Recommended installation method

How to configure homescreen-hero

  • HOMESCREEN_HERO_CONFIGconfig.yamlPath to config.yaml

    Path to config.yaml

  • HOMESCREEN_HERO_DBsqlite:///homescreen_hero.sqliteSQLAlchemy database URL

    SQLAlchemy database URL

  • HOMESCREEN_HERO_LOG_DIRlogsLog file directory

    Log file directory

  • HSH_AUTH_PASSWORDPassword for web UI login (if using password login or both Plex Auth + Password)

    Password for web UI login (if using password login or both Plex Auth + Password)

  • HSH_AUTH_SECRET_KEYSecret key for JWT token signing

    Secret key for JWT token signing

  • HSH_MAL_CLIENT_IDYour MAL API Client ID

    Your MAL API Client ID

  • HSH_MDBLIST_API_KEYYour MDBList API key

    Your MDBList API key

  • HSH_PLEX_TOKENYour Plex authentication token

    Your Plex authentication token

  • HSH_PLEX_URLYour Plex server URL

    Your Plex server URL

  • HSH_PORT8000Port to run the web UI on

    Port to run the web UI on

  • HSH_SEERR_API_KEYYour Seerr/Jellyseerr/Overseerr API key

    Your Seerr/Jellyseerr/Overseerr API key

  • HSH_SEERR_BASE_URLhttp://localhost:5055Your Seerr instance URL

    Your Seerr instance URL

  • HSH_TAUTULLI_API_KEYYour Tautulli API key

    Your Tautulli API key

  • HSH_TAUTULLI_BASE_URLhttp://localhost:8181Your Tautulli instance URL

    Your Tautulli instance URL

  • HSH_TMDB_API_KEYYour TMDb API key

    Your TMDb API key

  • HSH_TRAKT_CLIENT_IDYour Trakt application client ID

    Your Trakt application client ID

homescreen-hero releases & version history

More in Media Server

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…