{"adoption": {"forks": 396, "observed_at": "2026-08-28T04:07:48.007251+00:00", "stars": 3185}, "canonical_url": "https://ross.abutalabs.com/products/docker-xiaoya", "card": {"archived": false, "artifact_type": "application", "description": "💡 Use Docker Compose to deploy Xiaoya services in a more elegant way, supports one-click deployment of Alist + Emby + Jellyfin, full-platform support, Linux/Windows/Mac/Synology, X86/Arm architecture", "domain": ["media", "self-hosted", "web-development"], "enriched": true, "function": ["deployment", "self-hosted", "streaming", "file-upload", "http-server"], "health_score": 37, "homepage": null, "language": "Shell", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["monlor/docker-xiaoya"], "name": "monlor/docker-xiaoya", "platform": ["windows", "cross-platform", "self-hosted"], "pushed_at": "2025-03-27T06:25:33+00:00", "repo": "monlor/docker-xiaoya", "stars": 3185, "tags": ["docker-compose", "alist", "emby", "jellyfin", "media-server", "cloud-drive", "webdav", "tvbox", "one-click-deployment", "shell-scripts", "automation", "docker", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["deploy xiaoya alist emby with docker compose", "one-click self-hosted media server setup", "mount aliyun quark pikpak cloud drives for emby", "automatically update emby metadata daily", "set up webdav and tvbox from alist", "deploy media stack on synology nas arm", "clean up aliyun drive automatically on schedule"], "what_it_is": "A Docker Compose-based deployment tool that installs the Xiaoya media stack (Alist + Emby/Jellyfin) with one command across Linux, Windows, Mac, and Synology on X86 and Arm architectures. It automates metadata downloading, cloud drive syncing, and scheduled service updates with no manual intervention.", "when_to_avoid": ["you need hardware transcoding, which the project explicitly does not plan to support", "you want a fully manual or highly customized docker-compose setup that won't be overwritten by updates", "you need a service outside the Xiaoya stack (Alist/Emby/Jellyfin/WebDAV/TvBox)"], "when_to_choose": ["you want a fully automated Alist + Emby deployment without manual configuration", "you need cross-platform support including Synology NAS and Arm devices", "you want scheduled auto-updates of cloud drive data and Emby metadata", "you prefer scripts packaged in Docker images to avoid polluting the host"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/docker-xiaoya", "repo": "monlor/docker-xiaoya", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "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:07:48.007251+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.007251+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:00.612912+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8f90ff9282693c0ac2ec8316abac9e43f78ab02689529efc33411f97d8efae78", "fetched_at": "2026-08-28T04:07:48.007251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/monlor/docker-xiaoya"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 13, "longevity": 59, "rhythm": 40}, "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": 826, "days_push": 524, "days_rel": 665, "gap_med": 9, "n_releases_24m": 4}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}