{"adoption": {"forks": 55, "observed_at": "2026-08-28T04:04:45.100055+00:00", "stars": 1445}, "canonical_url": "https://ross.abutalabs.com/products/dcm", "card": {"archived": false, "artifact_type": "application", "description": "DockerComposeMaker (DCM) is a self-hostable website to help you pick and create a docker-compose.yml file for your home server. Discover new containers, discover and share a config in a couple of clicks!", "domain": ["developer-tools", "self-hosted"], "enriched": true, "function": ["developer-tools", "configuration-management", "self-hosted", "web-framework"], "health_score": 95, "homepage": "https://compose.ajnart.dev", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ajnart/dcm"], "name": "ajnart/dcm", "platform": ["self-hosted"], "pushed_at": "2026-08-25T08:25:57+00:00", "repo": "ajnart/dcm", "stars": 1445, "tags": ["docker-compose", "homeserver", "config-generator", "nextjs", "selfhosted", "devops", "containers", "automation", "web-server", "docker", "nodejs"], "topics": ["docker", "docker-compose", "homeserver", "managment", "self-hosted", "selfhosted"], "urls": [], "use_cases": ["generate a docker-compose.yml for my home server", "discover new self-hosted containers to run", "create a media server stack config with sonarr and radarr", "share my docker compose configuration with others", "avoid copy-pasting container configs from documentation", "use templates for common self-hosted app stacks"], "what_it_is": "DockerComposeMaker (DCM) is a self-hostable web application that helps users build docker-compose.yml files by selecting from a curated catalog of popular self-hosted containers. It offers templates, sensible defaults, and one-click copy/share of generated configurations.", "when_to_avoid": ["you need advanced or highly customized compose features beyond the curated catalog", "you manage infrastructure at scale with tools like Kubernetes or Terraform", "you need offline generation without hosting or visiting the web app"], "when_to_choose": ["you are setting up a home server or self-hosted stack and want a quick compose file", "you want to discover popular self-hosted apps with pre-configured best-practice defaults", "you prefer a visual picker over hand-writing YAML"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dcm", "repo": "ajnart/dcm", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "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:04:45.100055+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.100055+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:13.024789+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15fa97040ba37b19fa3e27fa62cd680dc58c77855bfdc0ead851d9e6836e476b", "fetched_at": "2026-08-28T04:04:45.100055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ajnart/dcm"}, {"content_hash": "b7d774f3b02906a99af3baf8e16ec0e2a26d15df133cbe453ef6a2cda479b16c", "fetched_at": "2026-08-29T11:46:24.033896+00:00", "kind": "homepage", "missing": false, "url": "https://compose.ajnart.dev"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 38, "rhythm": 18}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 533, "days_push": 8, "days_rel": 335, "gap_med": null, "n_releases_24m": 1}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}