Packistry is a self-hosted Composer repository designed to simplify PHP package distribution:
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.
While commonly, most application packages are available via Packagist.org, users providing premium packages or hosting private internal packages can leverage something like Packistry to manage packages. Packistry can host open-source repositories and supports webhooks to pull the latest changes from your source repositories.
Main Features
- Private Repository Support: Keep your sensitive or proprietary packages secure by hosting them in private repositories.
- Token-Based Authentication: Ensure secure access to your repositories with token-based authentication. This allows you to manage permissions for both users and automated systems (machines), providing granular control over who can view or modify your repositories.
- Package Source Integration: Easily manage and import Composer packages from GitHub, GitLab, adn Gitea
- Webooks - Packistry uses webhooks to pull the latest changes from your source repositories.
- Public/Private Repository Options: Define repositories as public or private based on your project needs.
- Human Access Control: Create user accounts to assign and manage access to your private repositories, ensuring only authorized individuals can interact with sensitive content.
- Machine Access Control: Generate deploy tokens to allow machines (e.g., build systems or CI/CD pipelines) to access private repositories, ensuring smooth, secure automation.
Build with Laravel
Packistry is built with Laravel and is available as open-source on Github at packistry/packistry. It uses Laravel 11 with RoadRunner as well as community packages like PestPHP, Spatie Laravel Data, Spatie Query Builder, and more. Packistry uses React, TypeScript, Tailwind, and Vite on the frontend.
Get Started
If you want to try Packistry, check out the Packistry docs to get started. The source code is an excellent place for inspiration with plenty of PestPHP tests, Laravel application code, and a React frontend.