{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-10-04T15:21:13.201Z",
  "lang": "en",
  "slug": "gitorange",
  "url": "https://tesign.com/en/item/gitorange/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/gitorange/",
      "json": "https://tesign.com/item/gitorange/index.json",
      "markdown": "https://tesign.com/item/gitorange/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/gitorange/",
      "json": "https://tesign.com/en/item/gitorange/index.json",
      "markdown": "https://tesign.com/en/item/gitorange/index.md"
    }
  },
  "name": "GitOrange",
  "use_label": "Team git host on Cloudflare",
  "one_liner": "A self-hosted, GitHub-style git host for your team that deploys as a single Cloudflare Worker, with no servers to run.",
  "text": {
    "why": "Keeping team code on infrastructure you control usually means running GitHub Enterprise or GitLab. GitOrange keeps the familiar GitHub interface with no VM, disk or git daemon to look after.",
    "take": "A Claude Code onboarding skill walks through setup and deployment.",
    "build": [
      "Repositories live in Cloudflare Artifacts and everything else in D1. Your existing .github/workflows files run on Cloudflare Containers with the same syntax, so typical build-and-test workflows work unchanged."
    ],
    "who": [
      {
        "role": "Small teams on Cloudflare who want to control their own code hosting.",
        "situation": null
      }
    ],
    "start": [
      {
        "command": false,
        "text": "Follow the README Quickstart. It needs a Cloudflare Workers Paid plan, a domain for email sending and Node.js 20+."
      }
    ],
    "caveat": [
      "Needs a paid Cloudflare plan (a few dollars a month), relies on Artifacts which is in open beta, and does not yet support repository secrets."
    ]
  },
  "cta": {
    "type": "self_host",
    "label": "SELF-HOST",
    "url": "https://choy.in/gitorange"
  },
  "ready": "self-host",
  "categories": [
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "깃",
    "자체 호스팅",
    "클라우드플레어",
    "오픈소스"
  ],
  "platform": [
    "web"
  ],
  "license": {
    "spdx": "Apache-2.0",
    "scope": "permissive",
    "scope_text": "Commercial use, redistribution OK. Keep notices; mark changes.",
    "url": "https://spdx.org/licenses/Apache-2.0.html",
    "note": null,
    "open_source": true
  },
  "language": "TypeScript",
  "source_urls": {
    "canonical": "https://choy.in/gitorange",
    "github": "https://github.com/choyiny/gitorange",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "showhn",
        "url": "https://github.com/choyiny/gitorange",
        "posted_at": "2026-10-02T19:33:49.000Z",
        "hn_url": "https://news.ycombinator.com/item?id=49937592"
      }
    ]
  },
  "numbers": {
    "as_of": "2026-10-04T10:00:00.000Z",
    "stars": 9,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-10-03T01:46:57.951Z",
    "stars_observed_since_check": 0,
    "star_delta_24h": null,
    "star_delta_7d": null,
    "star_delta_30d": null,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": 2,
    "hn_points_observed_at": "2026-10-04T00:35:34.908Z",
    "store": null,
    "method": "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-10-03T01:43:17.000Z",
    "owner_type": null,
    "open_issues": null,
    "contributors": null,
    "releases_count": null,
    "latest_release": null,
    "checked_at": null,
    "core_checked_at": "2026-10-03T01:46:57.951Z"
  },
  "signals": [
    {
      "kind": "new",
      "label": "NEW",
      "value": "5h OLD WHEN SEEN"
    }
  ],
  "images": {
    "og": "https://tesign.com/img/gitorange-79fdd4db4a.jpg",
    "cover": "https://tesign.com/img/gitorange-79fdd4db4a.jpg",
    "cover_width": 1544,
    "cover_height": 784,
    "gallery": [
      "https://tesign.com/img/gitorange-79fdd4db4a.jpg",
      "https://tesign.com/img/gitorange-b2e540143b.jpg",
      "https://tesign.com/img/gitorange-af78503efd.jpg",
      "https://tesign.com/img/gitorange-4d85635942.jpg"
    ],
    "alt": "A GitOrange pull request page: 'Add division to the Mill', all checks passed and a Merge button.",
    "tier": 2
  },
  "dates": {
    "first_seen_at": "2026-10-03T00:53:27.894Z",
    "source_created_at": "2026-10-02T19:33:49.000Z",
    "discovery_hours": 5.327470555555555,
    "launch_signal_at": "2026-10-02T19:33:49.000Z",
    "kept_at": "2026-10-04T15:21:08.186Z",
    "first_published_at": "2026-10-04T15:21:08.362Z",
    "updated_at": "2026-10-04T15:21:08.295Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "This file was produced by the same build, from the same data, as the tesign.com item page. The text is editorial; the numbers are stored observations.",
    "null in the JSON means not observed — never zero. The Markdown writes [unconfirmed] for it.",
    "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours.",
    "A summary, not legal advice."
  ]
}
