[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80634":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":41,"discoverSource":42},80634,"compartment","compartmentdev\u002Fcompartment","compartmentdev","Compartment is a self-hosted application deployment system for teams that want to ship and share internal, private, or public web apps without building their own platform stack.","https:\u002F\u002Fcompartment.dev",null,"TypeScript",81,5,65,4,0,2,3,16,6,49.43,"Apache License 2.0",false,"main",[26,27,28,29,30,31,32,33,34,35,36,37],"audit-log","automation","deployment","developer-tools","docker","enterprise","hosting","internal-tools","rbac","security","self-hosted","sso","2026-06-12 04:01:29","\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".github\u002Fassets\u002Fcompartment-logo-white.svg\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".github\u002Fassets\u002Fcompartment-logo-black.svg\" \u002F>\n    \u003Cimg src=\".github\u002Fassets\u002Fcompartment-logo-black.svg\" alt=\"Compartment\" width=\"360\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Compartment\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  Self-hosted deployment infrastructure for internal tools, private apps, and public services.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.compartment.dev\u002F\">Docs\u003C\u002Fa>\n  ·\n  \u003Ca href=\"#quickstart\">Quickstart\u003C\u002Fa>\n  ·\n  \u003Ca href=\"#developing-locally\">Developing locally\u003C\u002Fa>\n  ·\n  \u003Ca href=\".\u002FCONTRIBUTING.md\">Contributing\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcompartmentdev\u002Fcompartment\u002Factions\u002Fworkflows\u002Fci.yml\">\n    \u003Cimg alt=\"CI\" src=\"https:\u002F\u002Fgithub.com\u002Fcompartmentdev\u002Fcompartment\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\".\u002FLICENSE\">\n    \u003Cimg alt=\"License: Apache 2.0\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## What Is Compartment?\n\nCompartment is a self-hosted deployment system for teams that need a controlled place to run software on their own infrastructure. It provides the runtime, URLs, access model, deployment history, and operations surface around applications that already live in normal repositories.\n\nThe project is CLI-first and repository-first. Add a `compartment.yml`, deploy from a checkout or connected Git repository, and run the result through a self-hosted control plane. If an app can build into a container image with Docker or [Railpack](https:\u002F\u002Frailpack.com\u002F), it can usually fit the Compartment model.\n\n## Why Teams Use It\n\nTeams use Compartment when software that started as a script, internal app, worker, or AI-generated tool becomes useful enough that it needs a stable place to run.\n\n- Share team software without ad hoc links, manual handoffs, or unclear ownership.\n- Keep runtime control on infrastructure the team owns, without turning sustained compute or traffic into managed-platform spend.\n- Govern access with SSO, RBAC, roles, and audit logs instead of informal permission paths.\n- Run tools close to private services, data stores, and internal APIs while keeping workloads isolated.\n- Move from repository code to a working app without building a custom platform stack first.\n\n## Quickstart\n\nOn the target server, install the CLI and initialize the Compartment system:\n\n```bash\ncurl -fsSL https:\u002F\u002Fcompartment.dev\u002Finstall.sh | sh -s -- --init-install\n```\n\nPrepare an application repository:\n\n```bash\ncompartment init\n```\n\nThe smallest descriptor looks like this:\n\n```yaml\nname: internal-tools\n\nservices:\n  web: .\n```\n\nDeploy and inspect the result:\n\n```bash\ncompartment deploy\ncompartment status\ncompartment logs\n```\n\nFor branch-driven deploys, connect the repository through the Console or with `compartment source connect git`. See [Deploy using Git](https:\u002F\u002Fdocs.compartment.dev\u002Fdeploy-apps\u002Fdeploy-using-git\u002F) for the full flow.\n\n## Repository Layout\n\n| Path                 | Purpose                                                                         |\n| -------------------- | ------------------------------------------------------------------------------- |\n| `packages\u002Fcli`       | User-facing `compartment` command implementation.                               |\n| `packages\u002Fsdk`       | SDK client surface used by the CLI and other clients.                           |\n| `packages\u002Fcontracts` | Shared public contracts, schemas, paths, and generated reference inputs.        |\n| `packages\u002Fapi`       | Control-plane API, auth, persistence, migrations, and server-owned web serving. |\n| `packages\u002Fconsole`   | Vite and React browser control plane.                                           |\n| `packages\u002Fworker`    | Deployment execution and background work.                                       |\n| `packages\u002Fnode`      | Runtime-node control surface for deployed services.                             |\n| `packages\u002Fedge`      | Hosted-app ingress and access enforcement boundary.                             |\n| `public-docs`        | Public Starlight documentation site.                                            |\n| `docs`               | Internal architecture, package ownership, and operating specs.                  |\n| `examples`           | Example applications and descriptor fixtures.                                   |\n\n## Developing Locally\n\nUse the Node version pinned in `.nvmrc` and the pnpm version declared in `package.json`.\n\n```bash\nnvm use\npnpm install\ncp .env.example .env\n```\n\nLocal development expects PostgreSQL from `COMPARTMENT_DATABASE_URL`, plus `caddy` and `railpack` on `PATH`:\n\n```bash\nbrew install caddy\ncurl -sSL https:\u002F\u002Frailpack.com\u002Finstall.sh | sh\npnpm dev\n```\n\nRead [docs\u002Fspecs\u002Flocal-development.md](.\u002Fdocs\u002Fspecs\u002Flocal-development.md) before changing local runtime behavior.\n\n## Contributing\n\nStart with [CONTRIBUTING.md](.\u002FCONTRIBUTING.md). The short version:\n\n- Keep changes package-owned and scoped to one behavior.\n- Start new product behavior from the CLI command and shared SDK\u002FAPI contract.\n- Read the relevant file under [docs\u002Flayers](.\u002Fdocs\u002Flayers\u002F) before editing a package.\n- Update public docs when shipped user-visible behavior changes.\n- Run the narrowest relevant lint, typecheck, and test commands for the package you touched.\n\n## Useful Links\n\n- [Homepage](https:\u002F\u002Fcompartment.dev\u002F)\n- [Documentation](https:\u002F\u002Fdocs.compartment.dev\u002F)\n- [Docker Hub](https:\u002F\u002Fhub.docker.com\u002Forgs\u002Fcompartmentdev)\n\n## License\n\nCompartment is licensed under the [Apache License 2.0](.\u002FLICENSE).\n","Compartment 是一个自托管的应用部署系统，适用于希望在不构建自己的平台堆栈的情况下发布和共享内部、私有或公共 Web 应用的团队。其核心功能包括通过简单的配置文件实现应用的快速部署，支持 Docker 容器化应用，并提供单点登录（SSO）、基于角色的访问控制（RBAC）以及审计日志等安全特性。该工具特别适合那些需要将脚本、内部应用程序或其他小工具转变为稳定运行服务的场景，同时保持对基础设施的完全控制，避免了使用第三方管理平台的成本。采用 TypeScript 开发，遵循 Apache License 2.0 开源许可协议。","2026-06-11 04:01:28","CREATED_QUERY"]