Skip to content

usepackyard/packyard

Repository files navigation

Packyard

Open-source, self-hosted private Composer registry for PHP teams.

License: AGPL v3 Go

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.

image (6)

Install

curl -sSf https://get.packyard.dev/install.sh | bash

The 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.

What You Get

  • 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 Setup

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_PASSWORD

See the Composer client guide for details.

Documentation

Development

Prerequisites: Go 1.25+ and Bun.

git clone https://github.com/usepackyard/packyard.git
cd packyard
make dev

Useful commands:

make test
make build

Contributing

Issues and pull requests are welcome. Please read CONTRIBUTING.md before submitting changes.

License

Packyard is licensed under the GNU Affero General Public License v3.0.

About

Your own private Composer registry. Self-hosted, single binary, syncs PHP packages from GitHub and GitLab.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors