Open-source, self-hosted private Composer registry for PHP teams.
Packyard gives you a Composer package registry you can run on your own infrastructure. It ships as a single Go binary with an embedded admin dashboard, organization-scoped tokens, and local or S3-compatible package storage.
curl -sSf https://get.packyard.dev/install.sh | bashThe installer downloads Packyard and starts an interactive setup for the database, storage, public URL, admin user, and optional service unit.
For manual, unattended, air-gapped, or reverse-proxy setup, see the installation guide.
- Composer registry endpoints for private PHP packages
- Organization-scoped install tokens
- SQLite, MySQL, or PostgreSQL
- Local filesystem or S3-compatible storage
- GitHub release sync and an embedded admin dashboard
Composer repository URLs include the organization slug:
{
"repositories": [
{
"type": "composer",
"url": "https://repo.example.com/default"
}
]
}Authenticate with a token generated in the Packyard dashboard:
composer config --auth http-basic.repo.example.com YOUR_TOKEN YOUR_PASSWORDSee the Composer client guide for details.
Prerequisites: Go 1.25+ and Bun.
git clone https://github.com/usepackyard/packyard.git
cd packyard
make devUseful commands:
make test
make buildIssues and pull requests are welcome. Please read CONTRIBUTING.md before submitting changes.
Packyard is licensed under the GNU Affero General Public License v3.0.