All apps · 0 apps
homescreen-hero
Docker app from Selfhosters
Overview
Readme
View on GitHubA self-hosted Plex companion app with homescreen management, server insights, and useful tools, all in a sleek web dashboard
Try the Live Demo!
Note: The demo uses a mock Plex server I built, and is meant to be a Dashboard/UI preview. Not all functionality is enabled
Why homescreen-hero?
homescreen-hero is for Plex users who want more control over how their libraries feel, not just how they're stored. It brings together collection management, automation, personalization, and server tools in one self-hosted app, all so that you get to choose what appears, when it appears, and who sees it.
Transparency note: While I am a professional engineer, homescreen-hero was built with a lot of help from AI coding tools, especially for frontend work and iteration. It's still actively designed, tested, reviewed, and maintained by a human(s), and being transparent about that process is important to me.
Features
- Web Dashboard: Customizable drag-and-drop dashboard with widgets for Tautulli, Seerr, library analytics, and more
- Smart Rotation: Scheduled rotations with rule-based groups, smart filters, and random/weighted/LRU strategies
- Per-User Targeting: Show or hide collections per Plex user so every homescreen feels personalized
- 3rd Party List Sync: Sync collections from Trakt, Letterboxd, MDBList, TMDb, AniList, and MAL. Auto-request missing items through Seerr.
- Collection Sharing: Share your custom built Plex collections with other users via exportable JSON files or shareable codes
- Authentication: Password login, Plex OAuth, or both (with role-based access control for future non-admin features)
- Plex Tools: Date Added Editor, Watch History Cleaner, Unwatched Reports, Copy Watch History, and more
Got a feature idea? Head over to https://ideas.homescreenhero.com to submit feature requests and vote on the ideas you'd like to see implemented first!
📖 Full documentation at docs.homescreenhero.com
Quick Start
For all installation methods, including more detailed setup instructions, see the Installation docs.
Prerequisites: Docker, a running Plex server, and your Plex token
Security tip: Want to keep secrets out of config files? Copy
.env.exampleto.envand fill in your sensitive values before running the wizard. The wizard will automatically use your environment variables instead of writing them to config.yaml.
git clone https://github.com/trentferguson/homescreen-hero.git
cd homescreen-hero
mkdir -p data
docker-compose up -d
Open http://localhost:8000 (or whichever port you specified in .env file) and the Setup Wizard will guide you through configuration.
Windows Portable (Beta)
A portable Windows build is available as a zip download on each Release. See the Windows Portable (Beta) docs for installation instructions.
Configuration
Copy .env.example to .env and fill in your Plex URL, token, and any integration API keys. The Setup Wizard handles the rest on first launch.
See the Environment Variables and Configuration docs for the full reference.
Docker Image Tags
| Tag | Description |
|---|---|
latest |
Latest stable release |
v0.3.1, v0.4.0, etc. |
Specific versions for pinned deployments |
nightly |
Automated builds from develop branch (unstable) |
docker pull trentferguson/homescreen-hero:latest
Community Discord
If you are experiencing any issues, have feedback about the app, or wanna throw out a really cool feature request you thought of, our Discord server is the best place to be! My goal with homescreen-hero is to follow a community-focused development cycle, focusing first on implementing features requested by users/other contributors 😊
Join the homescreen-hero Discord Server
Contributing
All contributions welcome! Before you get started, please read through CONTRIBUTING.md to get an understanding of development setup and project guidelines.
Note: Please make sure to follow the outlined conventions for PR titles and descriptions. Thank you :)
License
This project is licensed under the MIT License - see the LICENSE file for details. All contributions to this project are welcomed!
🙏 Acknowledgments
- Agregarr: For being an amazing self-hosted app and inspiring me to try building something myself. Seriously, this app is awesome.
- ColleXions: For initially doing exactly what I needed this app today. Another great inspiration for me to try my own hand at an creating something like this.
- Stitch (Google): For helping me come up with a clean frontend design philosophy. It took a lot of trial error (I have almost no frontend dev experience, but turns out I'm very picky about what it looks like lol)
- Claude Code, Chat GPT, and Github Copilot: For building ~90% of my frontend. As a Data Engineer, a big part of creating this app for myself was to get a true understanding of where AI Coding Agents stand today, and what exactly they can/cannot do. I got tired of the headlines/Reddit comments and figured this was the quickest way to the truth.
🐶 Puppy Tax
I'm not ashamed to use my cutie for free internet points! (she was also great moral support on the "I've been banging my head against a wall for days trying to figure out why the rotation runs every thirty seconds types of issues lol)
Made with ❤️, 💧, and ☕ by trentferguson
Install homescreen-hero on Unraid in a few clicks.
Find homescreen-hero in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allLinks
Details
trentferguson/homescreen-hero:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8000]- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Port for accessing the web interface
- Target
- 8000
- Default
- 8000
- Value
- 8000
Directory for config.yaml, database, and logs
- Target
- /data
- Default
- /mnt/user/appdata/homescreen-hero
- Value
- /mnt/user/appdata/homescreen-hero
Your Plex authentication token (required - find at: https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/)
- Target
- HSH_PLEX_TOKEN
Your Plex server URL (e.g., http://192.168.1.100:32400)
- Target
- HSH_PLEX_URL
- Default
- http://your-plex-url:32400
Password for web UI authentication (optional but recommended)
- Target
- HSH_AUTH_PASSWORD
JWT secret key for authentication (use website or generate with: openssl rand -hex 32)
- Target
- HSH_AUTH_SECRET_KEY
Trakt API client ID for third-party list integration (optional - get at: https://trakt.tv/oauth/applications)
- Target
- HSH_TRAKT_CLIENT_ID
MDBList API key for third-party list integration (optional - get at: https://mdblist.com/preferences/)
- Target
- HSH_MDBLIST_API_KEY
TMDB API key for third-party list integration (optional - get at: https://www.themoviedb.org/settings/api)
- Target
- HSH_TMDB_API_KEY
MyAnimeList (MAL) Client ID for third-party list integration (optional - get at: https://myanimelist.net/apiconfig)
- Target
- HSH_MAL_CLIENT_ID
URL of your selfhosted Tautulli instance (optional)
- Target
- HSH_TAUTULLI_BASE_URL
Tautulli API key for dashboard analytics (optional)
- Target
- HSH_TAUTULLI_API_KEY
URL for your selfhosted Seerr (Jellyseerr/Overseerr) instance (optional)
- Target
- HSH_SEERR_BASE_URL
Seerr (Jellyseerr/Overseerr) API Key (optional)
- Target
- HSH_SEERR_API_KEY
Path to config file (default is recommended)
- Target
- HOMESCREEN_HERO_CONFIG
- Default
- /data/config.yaml
- Value
- /data/config.yaml
Database path (default is recommended)
- Target
- HOMESCREEN_HERO_DB
- Default
- sqlite:////data/homescreen_hero.sqlite
- Value
- sqlite:////data/homescreen_hero.sqlite
Directory for application logs (default is recommended)
- Target
- HOMESCREEN_HERO_LOG_DIR
- Default
- /data/logs
- Value
- /data/logs