{"adoption": {"forks": 160, "observed_at": "2026-08-28T04:05:40.833295+00:00", "stars": 1820}, "canonical_url": "https://ross.abutalabs.com/products/mediastack", "card": {"archived": false, "artifact_type": "infra-config", "description": "The ultimate Docker Compose files and configs to build your desired media stack, quickly and easily, with secure outbound network traffic and secure remote access using multifactor authentication.", "domain": ["media", "self-hosted", "security"], "enriched": true, "function": ["deployment", "configuration-management", "auth", "security", "proxy", "vpn", "monitoring", "self-hosted"], "health_score": 85, "homepage": "https://MediaStack.Guide", "language": "Shell", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["geekau/mediastack"], "name": "geekau/mediastack", "platform": ["windows", "self-hosted", "cross-platform"], "pushed_at": "2026-04-23T14:48:47+00:00", "repo": "geekau/mediastack", "stars": 1820, "tags": ["docker-compose", "plex", "jellyfin", "arr-suite", "radarr", "sonarr", "prowlarr", "lidarr", "qbittorrent", "sabnzbd", "traefik", "authentik", "tailscale", "headscale", "crowdsec", "gluetun", "flaresolverr", "home-server", "media-server", "reverse-proxy", "sso", "mfa", "letsencrypt", "homelab", "devops", "automation", "docker", "linux", "macos"], "topics": ["flaresolverr", "heimdall", "homepage", "jellyseerr", "letsencrypt", "lidarr", "plex-media-server", "prowlarr", "qbittorrent", "radarr", "reverse-proxy-server", "sabnzbd", "sonarr", "jellyfin-media-server", "outbound-vpn", "authentik", "tailscale", "traefik", "crowdsec", "mfa-sso"], "urls": [], "use_cases": ["set up a home media server with docker", "deploy plex and jellyfin with arr apps", "self-hosted media automation stack", "secure remote access to home server with mfa", "route torrent traffic through a vpn in docker", "complete homelab docker compose setup", "automate movie and tv downloads with radarr sonarr"], "what_it_is": "MediaStack is a set of Docker Compose files and configuration guides for deploying a complete home media server stack, including Jellyfin/Plex, the *ARR media managers, download clients, dashboards, and transcoding tools. It bundles secure networking out of the box with reverse proxy, SSO/MFA authentication, VPN-routed outbound traffic, and remote access via Tailscale/Headscale.", "when_to_avoid": ["you only need one or two media apps and prefer minimal, hand-rolled compose files", "you want a turnkey appliance or GUI installer rather than editing environment files", "you need a project with a formal license or enterprise support"], "when_to_choose": ["you want a pre-configured, all-in-one Docker Compose media stack with security and remote access handled for you", "you are not deeply technical and want step-by-step guides linking all apps together", "you need SSO/MFA, VPN outbound routing, and reverse proxy baked into the deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mediastack", "repo": "geekau/mediastack", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.833295+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:19:58.614159+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "33a150ceac375f14771d27e71144f5b8b37dea44edf6fb27c57c98734a3f9d5a", "fetched_at": "2026-08-28T04:05:40.833295+00:00", "kind": "readme", "missing": false, "url": "https://github.com/geekau/mediastack"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.350841+00:00", "kind": "homepage", "missing": false, "url": "https://MediaStack.Guide"}, {"content_hash": "2fcd52f92736167f94f9693443715ef011186bf946161ec77b14db789643f967", "fetched_at": "2026-08-29T10:59:00.355547+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/install/default-environment"}, {"content_hash": "c6f9cb76cb1d64cf347058f11b28a32a19bf76635eec1a40a1d65f1d415409e4", "fetched_at": "2026-08-29T10:59:00.357812+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide/prep/docker"}, {"content_hash": "deb5241f8cfbcbc6925d9d49df8a3b9c2b59cb490ffa03b87a4b1bb881c51c04", "fetched_at": "2026-08-29T10:59:00.359778+00:00", "kind": "site_page", "missing": false, "url": "https://mediastack.guide"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 78, "longevity": 99, "rhythm": 43}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1399, "days_push": 132, "days_rel": 165, "gap_med": null, "n_releases_24m": 1}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}