Packistry 是一个用 Laravel 构建的自托管 Composer 库
Packistry 是一个自托管的 Composer 存储库,旨在简化 PHP 包分发:
Packistry is a self-hosted Composer repository designed to handle your PHP package distribution. It supports importing from multiple sources like GitHub, GitLab, and Gitea, with seamless updates using webhooks. Packistry allows you to effortlessly run your own composer repository with just a few commands, giving you full control over your packages, access management, and security.
虽然通常情况下,大多数包都可以通过 Packagist.org 获得,但提供高级包或托管私有内部包的用户可以利用 Packistry 等工具来管理包。Packistry 可以托管开源存储库,并支持 Webhook 从源代码存储库中提取最新更改。
主特性
- 支持私有库:通过将敏感或专有软件包托管在私有库中来保护它们的安全。
- 基于 Token 的授权:通过基于令牌的身份验证确保对存储库的安全访问。这允许你管理用户和自动化系统(机器)的权限,对谁可以查看或修改存储库进行精细控制。
- 包源集成:从 GitHub、GitLab 和 Gitea 轻松管理和导入 Composer 包。
- Webooks - Packistry 使用 webhooks 来拉取源码库的最近更新。
- 公共/私有库选项:基于项目需要将库定义为共有或私有。
- 人工访问控制:创建用户帐户以分配和管理对私人库的访问,确保只有授权人员才能与敏感内容交互。
- 机器访问控制:生成部署令牌,以允许机器(例如构建系统或 CI/CD 管道)访问私有库,确保平稳、安全的自动化。
使用 Laravel 构建
Packistry 是用 Laravel 构建的,可以在 Github 上的 packistry/packistry 上开源。它使用 Laravel 11和 RoadRunner,以及 PestPHP、Spatie Laravel Data、Spatie Query Builder 等社区包。Packistry 在前端使用 React、TypeScript、Tailwind 和 Vite。
开始
如果你想尝试 Packistry,请查看 Packistry 文档以开始。源代码是一个很好的灵感来源,有大量的 PestPHP 测试、Laravel 应用代码和 React 前端。