{"adoption": {"forks": 134, "observed_at": "2026-09-03T02:15:15.287975+00:00", "stars": 1104}, "canonical_url": "https://ross.abutalabs.com/products/mash-playbook", "card": {"archived": false, "artifact_type": "infra-config", "description": "🐋 Ansible playbook which helps you host various FOSS services as Docker containers on your own server", "domain": ["self-hosted", "cloud-computing"], "enriched": true, "function": ["infrastructure-as-code", "deployment", "self-hosted", "configuration-management", "container-runtime", "backup", "proxy"], "health_score": 80, "homepage": null, "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["mother-of-all-self-hosting/mash-playbook"], "name": "mother-of-all-self-hosting/mash-playbook", "platform": ["self-hosted", "cli"], "pushed_at": "2026-09-02T21:56:02+00:00", "repo": "mother-of-all-self-hosting/mash-playbook", "stars": 1104, "tags": ["ansible", "docker-compose", "foss-services", "nextcloud", "vaultwarden", "peertube", "immich", "jitsi", "forgejo", "mega-playbook", "devops", "automation", "containers", "linux", "docker"], "topics": ["ansible-playbook", "docker", "self-hosting", "collabora-online", "nextcloud", "vaultwarden", "peertube", "prometheus", "forgejo", "jitsi", "ntfy", "adguard-home", "authentik", "bind", "headscale", "immich", "etherpad", "minecraft", "paperless-ngx", "jellyfin"], "urls": [], "use_cases": ["self-host nextcloud and other services on my own server", "deploy vaultwarden with docker using ansible", "automate installation and upgrades of self-hosted apps", "host multiple FOSS services with a reverse proxy and backups", "set up immich, jellyfin, and peertube on a homelab", "replace separate per-service ansible playbooks with one playbook"], "what_it_is": "MASH is an Ansible playbook that automates deploying a large catalog of FOSS services (Nextcloud, Vaultwarden, PeerTube, Immich, Jitsi, etc.) as Docker containers on your own server. It handles installation, upgrades, and maintenance with shared roles for common infrastructure like Postgres, Traefik, and backups.", "when_to_avoid": ["you only need a single service and prefer a plain docker-compose file", "you don't use or want to learn Ansible", "you need a service not on the supported-services list"], "when_to_choose": ["you want to run many self-hosted services with one consistent Ansible-driven setup", "you prefer declarative, repeatable deployments across distros and CPU architectures", "you want integrated Postgres, Traefik reverse proxy, and backup handling out of the box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mash-playbook", "repo": "mother-of-all-self-hosting/mash-playbook", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.287975+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:45:33.904329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c74b81c17a8e18f5a16cf771f1832b9f3602e5aac0849177279e9b44c69d15a", "fetched_at": "2026-09-03T02:15:15.287975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mother-of-all-self-hosting/mash-playbook"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 90, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1268, "days_push": 0, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}