{"adoption": {"forks": 181, "observed_at": "2026-08-28T04:05:33.810684+00:00", "stars": 1770}, "canonical_url": "https://ross.abutalabs.com/products/droidspaces-oss", "card": {"archived": false, "artifact_type": "application", "description": "A lightweight, LXC-like container runtime for Android and Linux. Run full Linux distributions natively with zero performance penalty", "domain": ["operating-systems", "developer-tools", "self-hosted"], "enriched": true, "function": ["container-runtime", "cli", "gui"], "health_score": 100, "homepage": "https://t.me/Droidspaces", "language": "Kotlin", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ravindu644/Droidspaces-OSS"], "name": "ravindu644/Droidspaces-OSS", "platform": ["cli"], "pushed_at": "2026-08-25T14:06:07+00:00", "repo": "ravindu644/Droidspaces-OSS", "stars": 1770, "tags": ["lxc", "namespaces", "rooted-android", "musl", "static-binary", "systemd", "kotlin-android-app", "containers", "android", "linux"], "topics": ["android", "containerization", "docker", "kernelsu", "lxc", "namespaces", "rooting", "droidspaces"], "urls": [], "use_cases": ["run a full Linux distro on a rooted Android phone", "run Ubuntu containers on Android without Termux", "manage Linux containers from an Android GUI app", "run Linux environments in Android recovery or ramdisk environments", "run lightweight containers on Linux desktops with a tiny static binary", "get systemd or OpenRC inside containers on Android"], "what_it_is": "Droidspaces is a lightweight, LXC-like container runtime that runs full Linux distributions natively on Android and Linux using kernel namespaces, with zero dependencies and a static musl-compiled binary under 400KB. It includes a Kotlin Android app for managing containers via GUI plus a CLI, supporting init systems like systemd and OpenRC.", "when_to_avoid": ["you need Docker image/registry ecosystem compatibility or orchestration features", "your Android device is not rooted or lacks KernelSU support", "you need containers on non-Linux kernels like macOS or Windows"], "when_to_choose": ["you want native, zero-overhead Linux containers on a rooted Android device", "you need a tiny static binary that runs on any Linux kernel including minimal environments", "you want a GUI app plus CLI for managing containers on Android"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/droidspaces-oss", "repo": "ravindu644/Droidspaces-OSS", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "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:33.810684+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.810684+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:26:04.086655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55ec4c5c80e75bbc55b8b4fb7b04be79bfc6ebce08c9e97e01fbff768bb54060", "fetched_at": "2026-08-28T04:05:33.810684+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ravindu644/Droidspaces-OSS"}, {"content_hash": "94eb370f407ca394a34d9d822de7f00492ba0d1e06b3c89940bacaf8b01a1943", "fetched_at": "2026-08-29T11:04:21.942463+00:00", "kind": "homepage", "missing": false, "url": "https://t.me/Droidspaces"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 14, "rhythm": 96}, "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": 196, "days_push": 8, "days_rel": 24, "gap_med": 1.0, "n_releases_24m": 35}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}