{"adoption": {"forks": 76, "observed_at": "2026-08-28T04:04:20.368992+00:00", "stars": 1314}, "canonical_url": "https://ross.abutalabs.com/products/karam-ajaj-atlas", "card": {"archived": false, "artifact_type": "application", "description": "Open-source tool for network discovery, visualization, and monitoring. Built with Go, FastAPI, and React, supports Docker host scanning.", "domain": ["networking", "self-hosted", "monitoring"], "enriched": true, "function": ["monitoring", "networking", "data-visualization", "developer-tools"], "health_score": 92, "homepage": "https://atlasdemo.vnerd.nl", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["karam-ajaj/atlas"], "name": "karam-ajaj/atlas", "platform": ["self-hosted"], "pushed_at": "2026-07-05T22:26:01+00:00", "repo": "karam-ajaj/atlas", "stars": 1314, "tags": ["network-discovery", "network-visualization", "docker-monitoring", "host-scanning", "homelab", "fastapi", "go", "react", "subnet-scanning", "devops", "containers", "docker", "web-server", "linux"], "topics": ["container", "devops", "devops-tools", "docker", "docker-monitoring", "docker-swarm", "fastapi", "golang", "homelab", "host-discovery", "infrastructure-automation", "network-discovery", "network-monitoring", "network-visualization", "networking", "open-source", "react", "self-hosted", "hacktoberfest"], "urls": [], "use_cases": ["map all devices on my home lab subnet", "visualize docker container networks and their IPs", "monitor which hosts and ports are reachable on my network", "discover open ports and OS fingerprints of neighboring devices", "build a live network topology dashboard for my infrastructure", "track network interfaces of docker containers over time"], "what_it_is": "Atlas is a self-hosted, containerized network infrastructure tool that scans Docker containers and subnet hosts to discover IPs, MACs, open ports, and OS fingerprints. It visualizes the discovered infrastructure in real time through an interactive React dashboard backed by a FastAPI and Go stack.", "when_to_avoid": ["you need enterprise-grade network monitoring with alerting, SNMP, or long-term metrics retention", "you require scanning across routed networks or large multi-site infrastructures", "you cannot run the tool with the network access required for subnet and docker scanning"], "when_to_choose": ["you run a homelab or small network and want a visual map of hosts and containers", "you want a self-hosted, dockerized alternative to manual nmap sweeps with a dashboard", "you need per-container network interface tracking in docker or docker swarm environments"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/karam-ajaj-atlas", "repo": "karam-ajaj/atlas", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "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:20.368992+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:20.368992+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:48:47.444062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e5989ff3071f0225c5c7c808d0a8aef7402664f552a0a0c01d73bcf12447d9e", "fetched_at": "2026-08-28T04:04:20.368992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/karam-ajaj/atlas"}, {"content_hash": "1d054cbe1413df7231621bfcd6f695ae4dd6b71790bf27400fafadf67b4c3cb1", "fetched_at": "2026-08-29T12:07:36.995610+00:00", "kind": "homepage", "missing": false, "url": "https://atlasdemo.vnerd.nl"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 33, "rhythm": 71}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 475, "days_push": 59, "days_rel": 196, "gap_med": 23, "n_releases_24m": 4}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}