In PHP, there is an existing option to run compost as a repo locally, and it is called Satis (it is actually provided by Composer) here: https://github.com/composer/satis
So, you can run it locally on your server and indicate that your composer uses it as the default composer repository, and Satis guarantees that all installed packages and different versions will be cached on disk as ZIP files, so they could get faster than always downloading them from the internet.
You can do something like this:
{ "repositories": [ { "type": "composer", "url": "http://satis.example.org/" } ], "require": { "company/package": "1.2.0", "company/package2": "1.5.2", "company/package3": "dev-master" } }
It also allows you to have private packages and libraries without exposing them to GitHub.
Another advantage of BIG is that GitHub comes for some reason that you can still use, since all your dependencies are encrypted locally. It is assumed that you did not add new non-existent packages to the release.
source share