- Streamline main README to essential information only - Create comprehensive INSTALLATION.md with platform-specific guides - Add detailed SERVICES.md with complete service catalog and support links - Add ADVANCED.md with configuration, security, and troubleshooting - Add CHANGELOG.md with complete version history and migration guides This reorganization reduces main README length by 90% while improving discoverability and maintenance of detailed information. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
12 KiB
Supported Services
HOPS supports a comprehensive collection of homelab services across multiple categories. All services use LinuxServer.io containers for consistency and reliability.
📺 Media Management (*arr Stack)
Sonarr - TV Series Management
Purpose: Automatic TV show downloading and management
Default Port: 8989
Support: github.com/Sonarr/Sonarr
Documentation: wiki.servarr.com/sonarr
Radarr - Movie Management
Purpose: Automatic movie downloading and management
Default Port: 7878
Support: github.com/Radarr/Radarr
Documentation: wiki.servarr.com/radarr
Lidarr - Music Management
Purpose: Automatic music downloading and management
Default Port: 8686
Support: github.com/Lidarr/Lidarr
Documentation: wiki.servarr.com/lidarr
Readarr - eBook Management
Purpose: Automatic eBook and audiobook downloading
Default Port: 8787
Support: github.com/Readarr/Readarr
Documentation: wiki.servarr.com/readarr
Status: ⚠️ Project retired, limited support
Bazarr - Subtitle Management
Purpose: Automatic subtitle downloading for movies and TV
Default Port: 6767
Support: github.com/morpheus65535/bazarr
Documentation: wiki.bazarr.media
Prowlarr - Indexer Management
Purpose: Centralized indexer management for *arr applications
Default Port: 9696
Support: github.com/Prowlarr/Prowlarr
Documentation: wiki.servarr.com/prowlarr
Tdarr - Media Transcoding
Purpose: Automated media transcoding and health checking
Default Port: 8265
Support: github.com/HaveAGitGat/Tdarr
Documentation: docs.tdarr.io
Huntarr - Missing Media Discovery
Purpose: Automated discovery and addition of missing media
Default Port: 7879
Support: github.com/plexguide/Huntarr.io
Documentation: Community-driven
⬇️ Download Clients
qBittorrent - BitTorrent Client
Purpose: Feature-rich BitTorrent client with web interface
Default Port: 8080
Support: github.com/qbittorrent/qBittorrent
Documentation: github.com/qbittorrent/qBittorrent/wiki
Transmission - Lightweight BitTorrent
Purpose: Simple, lightweight BitTorrent client
Default Port: 9091
Support: github.com/transmission/transmission
Documentation: transmissionbt.com
NZBGet - Usenet Downloader
Purpose: Efficient Usenet binary newsreader
Default Port: 6789
Support: github.com/nzbget/nzbget
Documentation: nzbget.net/documentation
SABnzbd - Usenet Client
Purpose: Popular web-based Usenet client
Default Port: 8081
Support: github.com/sabnzbd/sabnzbd
Documentation: sabnzbd.org/wiki
🎞️ Media Servers
Jellyfin - Open Source Media Server
Purpose: Free, open-source media server and entertainment hub
Default Port: 8096
Support: github.com/jellyfin/jellyfin
Documentation: jellyfin.org/docs
Features: No licensing fees, privacy-focused, extensive format support
Plex - Media Server Platform
Purpose: Popular media server with premium features
Default Port: 32400
Support: github.com/plexinc/pms-docker
Documentation: support.plex.tv
Features: Remote access, premium features with Plex Pass
Emby - Personal Media Server
Purpose: Feature-rich personal media server
Default Port: 8097
Support: github.com/MediaBrowser/Emby
Documentation: emby.media/support
Features: Premium features available, family-friendly
Jellystat - Jellyfin Statistics
Purpose: Advanced statistics and monitoring for Jellyfin
Default Port: 3000
Support: github.com/CyferShepard/Jellystat
Documentation: GitHub repository
Requirements: Requires Jellyfin server
🎛️ Request Management
Overseerr - Plex Request Management
Purpose: Media discovery and request management for Plex
Default Port: 5055
Support: github.com/sct/overseerr
Documentation: docs.overseerr.dev
Integration: Plex, Sonarr, Radarr
Jellyseerr - Jellyfin Request Management
Purpose: Media requests for Jellyfin, Emby, and Plex
Default Port: 5056
Support: github.com/fallenbagel/jellyseerr
Documentation: docs.jellyseerr.dev
Integration: Jellyfin, Emby, Plex, Sonarr, Radarr
Ombi - Media Request Platform
Purpose: User-friendly media request and discovery platform
Default Port: 3579
Support: github.com/Ombi-app/Ombi
Documentation: docs.ombi.app
Integration: Plex, Emby, Jellyfin
🔒 Reverse Proxy & Security
Traefik - Modern Reverse Proxy
Purpose: Automatic reverse proxy with SSL certificate management
Default Ports: 80, 443, 8080 (dashboard)
Support: github.com/traefik/traefik
Documentation: doc.traefik.io/traefik
Features: Automatic SSL, service discovery, load balancing
Nginx Proxy Manager - Easy Reverse Proxy
Purpose: User-friendly web interface for Nginx reverse proxy
Default Ports: 80, 443, 81 (admin)
Support: github.com/NginxProxyManager/nginx-proxy-manager
Documentation: nginxproxymanager.com/guide
Features: Web GUI, SSL automation, access lists
Caddy - Automatic HTTPS Web Server
Purpose: Modern web server with automatic HTTPS
Default Ports: 80, 443, 2019 (admin)
Support: github.com/caddyserver/caddy
Documentation: caddyserver.com/docs
Note: ⚠️ Configuration not included - Users must provide their own Caddyfile
Authelia - Authentication & Authorization
Purpose: Multi-factor authentication and single sign-on
Default Port: 9091
Support: github.com/authelia/authelia
Documentation: authelia.com/integration
Features: 2FA, LDAP, OAuth2, OIDC
📈 Monitoring & Management
Portainer - Container Management
Purpose: Web-based Docker container management interface
Default Port: 9000
Support: github.com/portainer/portainer
Documentation: docs.portainer.io
Features: Container management, stack deployment, monitoring
Uptime Kuma - Service Monitoring
Purpose: Self-hosted uptime monitoring tool
Default Port: 3001
Support: github.com/louislam/uptime-kuma
Documentation: github.com/louislam/uptime-kuma/wiki
Features: Multiple protocols, notifications, status pages
Watchtower - Automatic Updates
Purpose: Automatic Docker container updating
Default Port: None (background service)
Support: github.com/containrrr/watchtower
Documentation: containrrr.dev/watchtower
Features: Scheduled updates, notifications, selective updating
🔧 Service Dependencies
Common Dependencies
Most services depend on:
- Docker and Docker Compose
- Shared network (
homelabnetwork) - Volume mounts for configuration and data
- Environment variables (PUID, PGID, TZ)
Integration Patterns
Media Management Workflow
- Prowlarr → Manages indexers for all *arr services
- Sonarr/Radarr → Monitors for new releases
- Download Client (qBittorrent/Transmission) → Downloads content
- Media Server (Jellyfin/Plex) → Serves content to users
- Request System (Overseerr/Jellyseerr) → User requests interface
Security & Access
- Reverse Proxy (Traefik/Nginx) → External access with SSL
- Authelia → Authentication layer
- Firewall → Network security (UFW on Linux)
Monitoring Stack
- Portainer → Container management
- Uptime Kuma → Service monitoring
- Watchtower → Automatic updates
⚠️ Important Service Notes
Caddy Configuration
HOPS provides the Caddy container but does not include Caddyfile configuration. Users must:
- Create their own Caddyfile in
~/hops/config/caddy/ - Configure reverse proxy rules
- Set up SSL certificates (automatic with proper domain configuration)
Example minimal Caddyfile:
example.com {
reverse_proxy jellyfin:8096
}
radarr.example.com {
reverse_proxy radarr:7878
}
GPU Support
- Linux: Intel GPU support via
/dev/dripassthrough - macOS: No GPU acceleration available
- Windows: Limited GPU support in WSL2
Service Health Checks
All web-based services include health checks for:
- Service startup verification
- Automatic restart on failure
- Status monitoring integration
🆘 Service-Specific Support
When to Contact Service Developers
Contact individual service developers for:
- Service configuration help
- Feature requests
- Bugs within the service itself
- Service-specific documentation
- Advanced service setup
Contact HOPS for:
- Docker Compose generation issues
- Service deployment problems
- Cross-platform compatibility
- Installation and automation issues
Getting Service Help
- Check service documentation (links provided above)
- Review service GitHub issues for known problems
- Check service community forums (Reddit, Discord, etc.)
- Consult LinuxServer.io documentation for container-specific issues
- Submit issues to appropriate repositories with proper logs and details
Common Service Issues
Permission Problems
# Fix ownership for Linux
sudo chown -R $USER:$USER /opt/appdata/[service-name]
# Fix ownership for macOS
sudo chown -R $USER:$USER ~/hops/config/[service-name]
Service Won't Start
# Check service logs
docker compose logs [service-name]
# Restart service
docker compose restart [service-name]
Configuration Issues
Most services store configuration in:
- Linux:
/opt/appdata/[service-name]/ - macOS:
~/hops/config/[service-name]/ - Windows:
/opt/appdata/[service-name]/(in WSL2)
For installation help, see INSTALLATION.md.
For advanced configuration, see ADVANCED.md.