YAHLP 2.0.0 - Initial Release
YAHLP 2.0.0 - Initial Release
Official stable release of YAHLP - Yet Another Home Lab Portal.
Features
Core Dashboard
- Dynamic Service Discovery - Automatically detects enabled services and displays them in the dashboard
- Service Health Monitoring - Real-time status checks for all configured services with Online/Offline indicators
- Welcome Screen - Beautiful welcome page shown when no services are configured
- Multiple Layout Styles - Classic, Modern, Sleek, Minimal, Mobile, and custom layout support
- Responsive Design - Fully responsive dashboard that works on desktop, tablet, and mobile devices
- Dark/Light Theme Support - Automatic theme detection with user override toggle
Service Configuration
- 15 Built-in Quick Links - Torrents (TPB, FileList, HDBits, 1337x, YTS, LimeTorrents, Nyaa, IP Torrents) and Usenet sites (DOGnzb, DrunkenSlug, nzb.life, NZBFinder, NZBgeek, nzbplanet, Tabula Rasa)
- Service Credentials Tracking - Tooltip shows count of services needing credential configuration
- Intelligent Service Display - Only shows fully-configured services in dashboard; services with URL only show as pending
- Special Service Handling - Transmission displays when any other service is configured (no credentials required)
Supported Services
- Indexers & Downloaders: Sonarr, Radarr, Lidarr, Whisparr, Seerr, SABnzbd, NZBGet, NZBHydra, Transmission, qBittorrent, Deluge
- Media Servers: Jellyfin, Emby, Plex, Tautulli, Maintainerr
- Aggregators: Prowlarr, Jackett, Bazarr
Deployment Modes
- Public Mode - Full HTTPS with Let's Encrypt automatic certificate generation, OAuth2 (Google/Entra ID), Basic Auth
- Private Mode - LAN-only access with automatic IP detection, self-signed certificates
- Auth Methods - None (public IP restriction), Basic Auth, Google OAuth2, Microsoft Entra ID
Reverse Proxy
- Apache Mod Proxy - Full mod_proxy and mod_auth_openidc support
- Service Routing - Automatic ProxyPass/ProxyPassReverse configuration
- Header Handling - Proper authentication header propagation
- WebSocket Support - Full WebSocket proxy support for real-time services (SignalR, etc.)
- Timeout Protection - Configurable proxy timeouts to prevent hanging
Admin Features
- Environment Variable Configuration - Complete container configuration via env vars
- Docker Compose Ready - Full docker-compose.yml example included
- Configuration Validation - Health endpoint reports service configuration status
- Automatic Cert Generation - Let's Encrypt certificate auto-generation and renewal for public deployments
- Service Status API -
/healthendpoint shows enabled/configured status of all services - Performance Optimization - Efficient service discovery, dashboard caching, icon lazy loading
Bug Fixes & Improvements
Dashboard Loading
- Fixed dashboard not loading when clicking home button (v2.0.29)
- Added timeout protection to prevent service status fetching hangs (v2.0.28)
- Fixed initial page load issues with missing service data (v2.0.24, v2.0.9)
Service Configuration Display
- Fixed qBittorrent incorrectly showing as configured without API key (v2.0.31)
- Fixed Transmission showing in dashboard only when other services are configured (v2.0.27)
- Fixed Transmission counted as "needs credentials" in tooltip (v2.0.26)
- Fixed services showing without full credentials (v2.0.21, v2.0.4)
- Only writes enabled service URLs to configuration (v2.0.25)
- Proper handling of services with different credential requirements (v2.0.8)
HTTPS & Security
- Fixed SSL certificate mismatch for public deployments (v2.0.30)
- Removed conflicting catch-all HTTPS vhost for domain-based deployments
- Proper certificate chain handling in Apache configuration
- Automatic HTTPS redirect for HTTP requests
UI/UX
- Repositioned tooltip above home button to prevent cursor blocking (v2.0.21)
- Added custom tooltip div instead of title attribute (v2.0.21)
- Fixed tooltip showing count of services needing configuration (v2.0.6, v2.0.5)
- Proper "not configured" vs "needs credentials" distinction (v2.0.16)
- Fixed unconfigured service cards display logic (v2.0.4)
Configuration Generation
- Proper service configuration detection from environment variables (v2.0.27, v2.0.25)
- Fixed yahlp.json5 generation with correct URLs instead of hardcoded container names
- Proper LANDING_PAGE configuration for Sonarr/Radarr calendar views
- Fixed environment variable loading in generation scripts
Service-Specific Fixes
- Jellyfin authentication pre-fetch only if enabled (v2.0.11)
- Deluge initialization timing fix (v2.0.11)
- Transmission special handling when other services are configured (v2.0.23, v2.0.27)
- qBittorrent API key requirement correctly enforced (v2.0.31)
Known Limitations
- Requires Docker for deployment
- Let's Encrypt certificates only work with valid public domains
- OAuth2 (Google/Entra) requires public domain and HTTPS
- Some services may require credential pre-configuration before dashboard access
System Requirements
- Docker & Docker Compose
- For public deployments: Valid domain name with DNS pointing to your server
- For Let's Encrypt: Port 80 accessible for ACME challenges
- Minimum 512MB RAM, 1GB storage
Getting Started
- Clone the repository
- Copy
.env.exampleto.envand configure settings - Adjust
docker-compose.ymlfor your services - Run
docker-compose up -d - Access dashboard at your configured domain or IP
See full documentation for detailed setup instructions.
Credits
Built with Apache, Docker, and a focus on simplicity and reliability.