Githome
Administration: Deployment and operation
Docs / Administration

Deployment and operation

How Githome is deployed and run on Cloudflare: the hosts, the resources, the deploy scripts, the superadmin console, mirrors and backups, and where to go next.

Githome is one private, internal forge at https://git.pkgforge.dev. It runs on Cloudflare, with copies kept off Cloudflare, and is deployed from a private repository by the operator. There is no hosted service to sign up for and no copy for a visitor to deploy: accounts are made by invitation from the superadmin. This page is the overview of how the instance is put together and run; Deploy and update Githome describes the deploy scripts, and Configuration lists the settings the core reads.

The hosts

HostWhat it serves
git.pkgforge.devThe core: the web UI, Git over HTTPS, the REST and GraphQL APIs, the MCP server at /mcp, the container registry and these docs.
uploads.git.pkgforge.devThe uploads of the core.
dash.git.pkgforge.devThe dash, the superadmin console: its own Worker, its own D1 database and its own passkey sign-in.
NAME.git.pkgforge.devThe host of each module, a small Worker of its own, once the module is deployed.

Anyone can browse and clone public repositories without an account. A write needs an account, and sign-in is with a passkey.

What the instance runs on

PartCloudflare product
The core and the dashWorkers
One repository (refs, objects, issues, pull requests, reviews)A Durable Object with SQLite storage, one per repository
Accounts, organizations, tokens, sessions, the audit logD1
Large git objects, LFS objects, caches, release assets, profile picturesR2
Webhooks, notifications, email jobsQueues
Imports, account exports and deletionsWorkflows

The instance starts no Cloudflare Container: the forge CI is dormant (see below). Architecture maps each part of Githome to the product that runs it. The resources of each Worker are listed in one file of the private repository, deploy/resources.jsonc, which the deploy script reads.

How it is deployed

The operator deploys from a checkout of the private repository with node scripts/deploy.ts. render writes the deployed config of each Worker without any network call, plan compares the Cloudflare account with the list of resources and changes nothing, and apply creates what is missing, applies the D1 migrations, deploys and sets the secrets that the deploy generates. scripts/setup.sh checks the toolchain (Node 26.7.0 and pnpm 12.11.2), installs the workspace and starts the same script, so the two never differ. The Cloudflare credential is a child token minted for one run from a minter credential kept outside the repository, and it is revoked when the run ends. See Deploy and update Githome.

After a deploy

  • Who can join. The instance is invite-only. The superadmin invites each account in the dash and sends the one-time invitation link by hand; Githome sends no email for an invitation. Open sign-up is off. See Invitations and SIGNUP.
  • Limits. Per-account quotas are set with the QUOTA_* variables and changed for one account in the dash; see Configuration.
  • Running it. The dash covers accounts and invitations, sign-in links, contact messages, reports, security reports, status incidents, the audit log, quotas, kill switches, the workflow scheduler, mirrors and ingest. Site administration describes it, and the status page shows whether each part of the instance works.
  • The forge CI is dormant. git.pkgforge.dev starts no Actions run, no hosted job, no agent sandbox and no terminal. The setting is GITHOME_CI=off. The Actions code stays in Githome, and the Actions pages of these docs keep their reference content.
  • Mirrors. Push mirrors copy each repository with its forge state to another provider: GitHub, Cloudflare Artifacts, GitLab, Forgejo or Codeberg.
  • Backups. Backups are encrypted and go to an S3-compatible bucket off Cloudflare once its credentials are set; with no target, no backup runs.
  • Your tools. People install the CLI from the instance and run githome setup. AI apps connect to https://git.pkgforge.dev/mcp. An editor clones with the plain HTTPS URL.

Get help

Report bugs and ask questions in the public tracker, github.com/Azathothas/issues, with the label git.pkgforge.dev. People with an account can report security problems privately with the report form, which takes reports only from signed-in people until the deployment has its Turnstile keys; see Vulnerability disclosure.