{
  "slug": "code/self-hosted-registry",
  "title": "Self-Hosted Registry",
  "description": "Run Cuitty Code Registry and Code App Market on your own infrastructure.",
  "url": "https://cuitty.com/docs/code/self-hosted-registry",
  "markdown_url": "https://cuitty.com/docs/code/self-hosted-registry.md",
  "json_url": "https://cuitty.com/docs/code/self-hosted-registry.json",
  "frontmatter": {
    "title": "Self-Hosted Registry",
    "description": "Run Cuitty Code Registry and Code App Market on your own infrastructure.",
    "order": 40,
    "section": "Code",
    "updatedAt": "2026-05-21"
  },
  "headings": [
    {
      "depth": 2,
      "slug": "operations",
      "text": "Operations"
    }
  ],
  "body_markdown": "Self-hosted Cuitty Code Registry uses the same APIs and permission model as Cuitty Cloud.\n\nRequired services:\n\n- Cuitty Code server for API, Git protocol, market, and registry metadata.\n- SpiceDB for authorization.\n- Airflow for app install/run, package publish, scans, reindexing, replication, and transfers.\n- Object storage for package blobs, OCI layers, wheels, tarballs, SBOMs, and attestations.\n- Git storage for repositories, app source, Cargo indexes, and docs.\n\nAir-gapped deployments can use manual sync bundles instead of public network replication.\n\n## Operations\n\nUse the [Code Apps and Registry operator runbook](/docs/code/operator-runbook) for startup order, migrations, SpiceDB schema loading, Airflow reconciliation, registry smoke checks, and recovery steps.",
  "body_html": "<p>Self-hosted Cuitty Code Registry uses the same APIs and permission model as Cuitty Cloud.</p>\n<p>Required services:</p>\n<ul>\n<li>Cuitty Code server for API, Git protocol, market, and registry metadata.</li>\n<li>SpiceDB for authorization.</li>\n<li>Airflow for app install/run, package publish, scans, reindexing, replication, and transfers.</li>\n<li>Object storage for package blobs, OCI layers, wheels, tarballs, SBOMs, and attestations.</li>\n<li>Git storage for repositories, app source, Cargo indexes, and docs.</li>\n</ul>\n<p>Air-gapped deployments can use manual sync bundles instead of public network replication.</p>\n<h2 id=\"operations\">Operations</h2>\n<p>Use the <a href=\"/docs/code/operator-runbook\">Code Apps and Registry operator runbook</a> for startup order, migrations, SpiceDB schema loading, Airflow reconciliation, registry smoke checks, and recovery steps.</p>",
  "links_out": [
    "/docs/code/operator-runbook"
  ]
}