Skip to content

YAHLP 2.0.0 - Initial Release

Choose a tag to compare

@auskento auskento released this 18 Jul 14:12
· 1437 commits to main since this 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 - /health endpoint 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

  1. Clone the repository
  2. Copy .env.example to .env and configure settings
  3. Adjust docker-compose.yml for your services
  4. Run docker-compose up -d
  5. 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.