← knowledge.oriz.in

Public-only multi-Git mirror + auto-start services + datasets-to-build queue

decision backupmirroringauto-startdatasetsmaster-plan

Master plan — multi-Git mirror + auto-start + dataset queue

1. Multi-Git mirror

Goal: every public chirag127/* and chirag127/* repo gets pushed to N Git providers automatically. If one provider goes down or DMCAs us, the others stand.

Targets (locked 2026-06-28) — every managed (non-self-hosted) Git host. Account creation needed on each:

# Provider URL pattern Notes
1 GitHub (primary) github.com/chirag127/<slug> Where the work happens
2 GitLab Cloud gitlab.com/chirag127/<slug> Free unlimited public, mature CI
3 Codeberg codeberg.org/chirag127/<slug> German non-profit, EU jurisdiction, no AI training
4 Bitbucket Cloud bitbucket.org/chirag127/<slug> Atlassian, free 5-user public
5 Azure DevOps dev.azure.com/chirag127/<slug> Microsoft enterprise host
6 GitFlic gitflic.ru/chirag127/<slug> Russia-hosted, relaxed DMCA
7 GitGud.io gitgud.io/chirag127/<slug> Sapphire.moe GitLab, fringe-friendly
8 NotABug.org notabug.org/chirag127/<slug> FOSS-only, Gogs, minimal admin
9 SourceHut git.sr.ht/~chirag127/<slug> Hyper-minimalist, no JS/tracking. Personal account only (no orgs)
10 Gitea.com (hosted) gitea.com/chirag127/<slug> Public Gitea instance (NOT self-host)
11 SourceForge sourceforge.net/p/chirag127/<slug> Legacy but free + still active
12 Launchpad code.launchpad.net/~chirag127/<slug> Canonical/Ubuntu, free public Git+Bzr
13 Framagit framagit.org/chirag127/<slug> Framasoft GitLab instance, FOSS-only, French
14 Disroot Git git.disroot.org/chirag127/<slug> Disroot Forgejo instance, privacy-first
15 Pagure pagure.io/<slug> Fedora-run, RPC-based PR model

Scope of mirroring:

Skipped (and why):

1a. API documentation + landing page

Goal: every API repo has a real docs page and the fleet has a landing page.

Surface URL What it shows
Fleet landing oriz.in or api.oriz.in List of all live APIs (Bhagavad Gita link to upstream, RTO, constants, ragas, dynasties, countries-plus), feature highlights, how-to-use, "free forever" pitch
Per-API docs <slug>.oriz.in root Auto-generated from JSON Schema + manual examples. Endpoint list, sample responses, jsDelivr alt URL, license, contribute link
API explorer <slug>.oriz.in/explorer Interactive UI: pick a code ? see JSON response live (similar to Swagger but lighter — just a <select> + fetch() + pretty-print)

Build pattern: each API repo contains a _site/ (Pages output) with:

Fleet-level landing lives in chirag127/api-fleet-landing ? deploys to api.oriz.in (or replaces the placeholder at oriz.in directly).

Stack: Astro static (matches framework-astro-react-tailwind-shadcn decision), with a single shared layout component that each API repo imports via npm or git submodule. Or keep it simple: pure HTML + Tailwind CDN per repo, no shared dep, easier to maintain than a shared package.

Implementation: GitHub Actions workflow in each repo that pushes to all 4 mirrors on every push to main. Use pixta-dev/repository-mirroring-action or hand-rolled git push --mirror per provider. Secrets (mirror PATs) stored as GH Actions org-level secrets.

Scope: PUBLIC repos only. Secrets stay in restic?Backblaze B2 + Bitwarden per existing rules. No private mirror repo.

2. Auto-start services

Goal: Hr (Headroom), hai, RTK hook, cavemem worker, plus anything else session-critical, start on user login without manual intervention. Survive reboot.

Mechanism: Windows Task Scheduler entries triggered at user logon. One entry per service. Each entry runs a small .cmd or directly the binary.

Services to wire:

Service What Why auto-start
Headroom Docker container Hr?hai?Bedrock chain on localhost:8787 the AI agent fails if :8787 is down
cavemem worker local SQLite worker on :37777 Background memory writes need it
RTK hook Per-session via the AI agent hook (already wired) n/a — fires on demand
MCP servers Per-session via the AI agent MCP config n/a — the AI agent starts them

So actually only Headroom + cavemem truly need Task Scheduler. RTK + MCP run inside the AI agent.

Implementation: a single script C:\D\oriz\scripts\install-auto-start.cmd that:

  1. Registers a Scheduled Task Oriz-Headroom-Login running docker start headroom at user logon
  2. Registers a Scheduled Task Oriz-Cavemem-Login running cavemem start at user logon
  3. Both with "Run only when user is logged on" + "Run with highest privileges"

3. Dataset queue — build order

Verified gaps from 2026-06-28 audit (no free OSS API exists for any of these):

# Dataset Subdomain Effort estimate Time-to-ship Status
1 Indian RTO codes rto.oriz.in Trivial ~2 hours ? Shipped 2026-06-28 (chirag127/rto-api, 1299 codes, 35 states)
2 Physics constants (CODATA 2022) constants.oriz.in Trivial — one-shot CODATA parse, ~150 constants ~2 hours Queued
3 Indian classical music ragas ragas.oriz.in Moderate — schema exists at OpenRaga/ragajson, no hosted API; merge Hindustani+Carnatic data ~1 day Queued
4 Indian dynasties timeline dynasties.oriz.in Moderate — Wikipedia scrape + reconciliation across articles ~1 day Queued
5 RestCountries extension (mottos, founding dates, former capitals) countries-plus.oriz.in Moderate — Wikipedia infobox parse + merge with existing RestCountries shape ~1 day Queued

Build order rationale: Constants next (trivial, fastest validation of the rto-api pattern on a different dataset). Then ragas/dynasties/countries-plus in parallel if time allows.

Each ships with same pattern:

4. Sequence to execute

  1. Deploy rto.oriz.in to CF Pages now (wrangler is authed; 5-10 min)
  2. Lock auto-start rule + write install-auto-start.cmd
  3. Set up mirror automation — create org accounts on GitLab/Codeberg/Bitbucket, generate PATs, store as GH org secrets, write the reusable workflow
  4. Ship Physics Constants API (next dataset)
  5. Ship the remaining 3 datasets one by one
  6. Backfill mirrors — once §3 works, run a one-time backfill to push every existing chirag127/* and chirag127/* public repo to all mirrors

Step 1 can happen this session. §2-§6 likely need multiple sessions; this plan is the durable spec.

5. Cost (verified 2x via web search)

Item Cost
GitHub Pages / Actions ?0 (2000 min/mo)
GitLab Cloud free tier ?0 (free public, free 5GB)
Codeberg ?0 (FOSS-only, donations-funded)
Bitbucket free ?0 (5 users, 1GB LFS)
Azure DevOps free ?0 (5 users public)
Cloudflare Pages ?0 (100 projects free)
Cloudflare DNS ?0 (unlimited)
oriz.in domain already owned
jsDelivr CDN ?0 (unlimited public-repo serving)
Total ongoing ?0