Home

Awesome

Tug

Image of CloudFormation Launch Stack Build Status

Tug is a Composer private registry for private PHP packages installable with Composer (1 and 2). The main idea of this project is to have an intermediary between the management of its own server Packagist, or the use of a third party service, and the simple static packages generator like Satis. That is, do not be worried about updating package versions and SHA1s of the branches, while avoiding the cost of server maintenance and execution, or the high cost of third-party services.

For that, this project is hosted on your AWS account, using API Gateway with Lambda for the serverless code execution, DynamoDB for database, and S3 to storage the cached files, while using webhooks of services to automatically build packages and providers. With the serverless approach, the financial cost is extremely low, see free, and in most cases, only a few cents by month with the AWS Free Tier. You can see the pricing of S3, Lambda, DynamoDB and API Gateway for more details.

Also, this project is not intended to be another complete Packagist server, or a static packages generator like Satis, but bring some interesting features of the Packagist server (automatic update of package definitions) for a very low cost in case you use a third party service like Github or Gitlab to host your private packages, and that the use of VCS repositories makes every Composer update excessively long.

All features can be managed with the Progressive Web Application for desktop and mobile:

PWA screenshots

Features include:

Documentation

The bulk of the documentation is stored in the doc/index.md file in this project:

Read the Documentation

The latest version of the AWS CloudFormation Stack is to this url:

https://tug-dev.s3.amazonaws.com/latest.template

Installation

All the installation instructions are located in documentation.

License

This project is under the MIT license. See the complete license in the bundle:

LICENSE

About

Tug is a François Pluchino initiative. See also the list of contributors.

Reporting an issue or a feature request

Issues and feature requests are tracked in the Github issue tracker.