Skip to content

feat(media): implement full media stack — Jellyfin + Sonarr + Radarr + Prowlarr + qBittorrent + Jellyseerr#490

Open
Lucaaaaaaaaaaaaaaaaaaaaa wants to merge 1 commit into
illbnm:masterfrom
Lucaaaaaaaaaaaaaaaaaaaaa:media-stack
Open

feat(media): implement full media stack — Jellyfin + Sonarr + Radarr + Prowlarr + qBittorrent + Jellyseerr#490
Lucaaaaaaaaaaaaaaaaaaaaa wants to merge 1 commit into
illbnm:masterfrom
Lucaaaaaaaaaaaaaaaaaaaaa:media-stack

Conversation

@Lucaaaaaaaaaaaaaaaaaaaaa
Copy link
Copy Markdown

Summary

Implements the complete Media Stack per issue #2 requirements.

Services (all with pinned versions, no latest)

Service Image Port Subdomain
Jellyfin jellyfin/jellyfin:10.9.11 8096 jellyfin.${DOMAIN}
Sonarr lscr.io/linuxserver/sonarr:4.0.11 8989 sonarr.${DOMAIN}
Radarr lscr.io/linuxserver/radarr:5.8.1 7878 radarr.${DOMAIN}
Prowlarr lscr.io/linuxserver/prowlarr:1.22.0 9696 prowlarr.${DOMAIN}
qBittorrent lscr.io/linuxserver/qbittorrent:4.6.7 8080 bt.${DOMAIN}
Jellyseerr fallenbagel/jellyseerr:2.1.1 5055 seerr.${DOMAIN}

Key Features

  • TRaSH Guides hardlink layout: /data/torrents/ + /data/media/ on same filesystem
  • Traefik reverse proxy with certresolver=letsencrypt + security-headers@file middleware
  • Healthchecks on all 6 services with proper start_period, interval, retries
  • Startup ordering: Prowlarr + qBittorrent → Sonarr/Radarr → Jellyseerr
  • No hardcoded secrets — all config via .env
  • Complete README with post-deploy setup (Prowlarr indexers, qBittorrent connection, Jellyfin libraries, Jellyseerr linking)
  • CN mirror docs for lscr.io images

Verification Checklist

  • All images use specific version tags (no latest)
  • docker compose config validates successfully
  • No hardcoded passwords or secrets
  • All services have healthchecks
  • depends_on with condition: service_healthy for startup ordering
  • Traefik labels with certresolver=letsencrypt
  • README with setup steps, directory structure, FAQ

Closes #2

Generated/reviewed with: claude-opus-4-6

- All 6 services: Jellyfin, Sonarr, Radarr, Prowlarr, qBittorrent, Jellyseerr
- Pinned image versions (no latest tags)
- TRaSH Guides hardlink directory layout (/data/torrents + /data/media)
- Traefik reverse proxy with certresolver=letsencrypt
- Healthchecks for all services
- depends_on with service_healthy for startup ordering
- Complete .env.example and README with post-deploy setup guide
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY $160] Media Stack — Jellyfin + Sonarr + Radarr + qBittorrent

1 participant