{"adoption": {"forks": 500, "observed_at": "2026-08-28T04:09:48.282264+00:00", "stars": 6749}, "canonical_url": "https://ross.abutalabs.com/products/ufw-docker", "card": {"archived": false, "artifact_type": "cli-tool", "description": "To fix the Docker and UFW security flaw without disabling iptables", "domain": ["security", "networking", "self-hosted"], "enriched": true, "function": ["security", "networking", "configuration-management", "cli"], "health_score": 85, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["chaifeng/ufw-docker"], "name": "chaifeng/ufw-docker", "platform": ["cli"], "pushed_at": "2026-05-12T14:09:13+00:00", "repo": "chaifeng/ufw-docker", "stars": 6749, "tags": ["ufw", "firewall", "docker-networking", "iptables", "shell-script", "docker-swarm", "containers", "devops", "linux", "docker"], "topics": ["docker", "ufw", "ubuntu", "debian", "linux", "firewall", "security", "docker-swarm"], "urls": [], "use_cases": ["block docker published ports from external access with ufw", "fix docker bypassing ufw firewall rules", "manage ufw rules for docker containers", "secure docker ports on ubuntu server", "allow only specific ips to access docker container ports", "use ufw with docker without disabling iptables"], "what_it_is": "A shell-based tool that fixes the well-known security flaw where Docker bypasses UFW firewall rules and exposes published ports to the public internet. It works without disabling Docker's iptables management, preserving container networking while enforcing UFW rules.", "when_to_avoid": ["you use firewalld or nftables instead of UFW", "you run Docker on non-Linux platforms", "you prefer binding ports to localhost or a reverse proxy instead of firewall rules"], "when_to_choose": ["you run Docker on Ubuntu/Debian with UFW and need published ports protected", "you want to keep Docker's iptables and network management intact", "you need per-container firewall rules via a simple ufw-docker command"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ufw-docker", "repo": "chaifeng/ufw-docker", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "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:09:48.282264+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.282264+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:42:35.406818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5865a75de8cab4c01d445fc8f51bb4c1d711d25d2c6f74d4d8ca8d35c84bc200", "fetched_at": "2026-08-28T04:09:48.282264+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chaifeng/ufw-docker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 100, "rhythm": 34}, "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": 2947, "days_push": 113, "days_rel": 283, "gap_med": 135, "n_releases_24m": 2}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}