{"adoption": {"forks": 296, "observed_at": "2026-08-28T04:08:57.084344+00:00", "stars": 4692}, "canonical_url": "https://ross.abutalabs.com/products/https-portal", "card": {"archived": false, "artifact_type": "service", "description": "A fully automated HTTPS server powered by Nginx, Let's Encrypt and Docker.", "domain": ["self-hosted", "web-development", "security"], "enriched": true, "function": ["http-server", "proxy", "security", "deployment"], "health_score": 90, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["SteveLTN/https-portal"], "name": "SteveLTN/https-portal", "platform": ["self-hosted"], "pushed_at": "2026-05-26T13:22:04+00:00", "repo": "SteveLTN/https-portal", "stars": 4692, "tags": ["nginx", "lets-encrypt", "tls", "reverse-proxy", "ssl-certificates", "docker-image", "https", "devops", "docker", "linux"], "topics": [], "urls": [], "use_cases": ["add https to my web app automatically", "automatically obtain and renew let's encrypt certificates", "reverse proxy for docker containers with ssl", "serve multiple domains over https with one container", "self-hosted nginx reverse proxy with automatic tls", "redirect http to https for my site"], "what_it_is": "HTTPS-PORTAL is a Dockerized reverse proxy that automatically obtains and renews Let's Encrypt TLS certificates and serves any web application over HTTPS with minimal configuration. It is built on Nginx and managed via Docker Compose environment variables.", "when_to_avoid": ["you need features like middleware, service discovery, or fine-grained routing that Traefik offers", "your host cannot expose ports 80 and 443", "you don't use Docker and prefer a native nginx setup"], "when_to_choose": ["you run web apps in Docker and want HTTPS with one line of config", "you want automatic Let's Encrypt certificate issuance and renewal", "you need a simple multi-domain reverse proxy with basic auth or access restrictions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/https-portal", "repo": "SteveLTN/https-portal", "role": "main", "score": 88}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "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:08:57.084344+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.084344+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:19:14.942928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0960b77b0c7358e983a36fbc0bec4dd9d79d5a8a041c626da816ca8ab72ff07f", "fetched_at": "2026-08-28T04:08:57.084344+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveLTN/https-portal"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 100, "rhythm": 86}, "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": 3915, "days_push": 99, "days_rel": 98, "gap_med": 3.5, "n_releases_24m": 7}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}