{"id":13546952,"url":"https://github.com/webysther/packagist-mirror-docker","last_synced_at":"2025-04-02T19:32:09.112Z","repository":{"id":69639615,"uuid":"104811625","full_name":"webysther/packagist-mirror-docker","owner":"webysther","description":"🐋📦✂️📋📦  Docker image of packagist mirror","archived":true,"fork":false,"pushed_at":"2025-03-19T13:13:21.000Z","size":40,"stargazers_count":27,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-19T14:25:31.939Z","etag":null,"topics":["composer","composer-packages","docker","mirror","packagist","packagist-mirror","php"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/webysther/packagist-mirror/","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webysther.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":"packagist_mirror","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-09-25T23:19:34.000Z","updated_at":"2025-03-19T13:13:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1db65d1-d287-4007-8a3f-cabd4bb94e46","html_url":"https://github.com/webysther/packagist-mirror-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webysther%2Fpackagist-mirror-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webysther%2Fpackagist-mirror-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webysther%2Fpackagist-mirror-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webysther%2Fpackagist-mirror-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webysther","download_url":"https://codeload.github.com/webysther/packagist-mirror-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246880138,"owners_count":20848819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","composer-packages","docker","mirror","packagist","packagist-mirror","php"],"created_at":"2024-08-01T12:00:48.677Z","updated_at":"2025-04-02T19:32:09.103Z","avatar_url":"https://github.com/webysther.png","language":"Dockerfile","funding_links":["https://patreon.com/packagist_mirror"],"categories":["Dockerfile"],"sub_categories":[],"readme":"# DEPRECATED\n\nThe project has been frozen since the announcement of [composer 2](https://blog.packagist.com/composer-2-0-is-now-available/), which solved several problems, but still did not cover all users, especially in China. A few weeks ago, it adopted a [global CDN model](https://bunny.net/network/) and will [shutdown all legacy version 1](https://blog.packagist.com/shutting-down-packagist-org-support-for-composer-1-x/), which makes this mirror unnecessary. This includes Brazil, China and other countries where performance was still not good enough. This is a good move and I recommend that all existing mirrors start shutting down their domains. I will open a PR to remove the Packagist mirror page. Thank you to the community and everyone who helped the project.\n\n[![Build Status](https://goo.gl/u9wbBD)](https://hub.docker.com/r/webysther/packagist-mirror/)\n[![Docker pulls](https://goo.gl/Jb5Cq4)](https://hub.docker.com/r/webysther/packagist-mirror/)\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg?style=flat-square\u0026maxAge=3600)](https://php.net/)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FWebysther%2Fpackagist-mirror-docker.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FWebysther%2Fpackagist-mirror-docker?ref=badge_shield)\n[![Software License](https://goo.gl/FU2Kw1)](LICENSE)\n[![Mentioned in Awesome composer](https://awesome.re/mentioned-badge.svg)](https://github.com/jakoch/awesome-composer#packagist-mirrors)\n\n# Docker for [Packagist Mirror](https://github.com/Webysther/packagist-mirror)\n\nThis project allows you to easily create and update a [mirror of the packagist](https://github.com/Webysther/packagist-mirror) having as dependency only the docker.\nIt is possible to completely [customize the mirror](https://github.com/Webysther/packagist-mirror/blob/master/.env.example) only by using environment variable and thereby create an institutional mirror or for a particular country without any problem.\n\nWe use [webysther/composer-debian](https://hub.docker.com/r/webysther/composer-debian) as alternative to [official composer on docker hub](https://hub.docker.com/_/composer) because the alpine version has issues with I/O.\n\n## Usage\n\nSchedule in case of restart or another problem, the first execution create a mirror:\n\n```bash\n* * * * * root docker run --name mirror --rm -v /var/www/html:/public -e MAINTAINER_REPO='mymirror.com' webysther/packagist-mirror\n```\n\nSynchronized continuously:\n```bash\n*    *  * * * root docker run --name mirror --rm --device-read-bps /dev/xvda:600kb --device-write-bps /dev/xvda:600kb -e SLEEP=0 -v /var/www/html:/public webysther/packagist-mirror\n\n```\nSample used inside packagist.com.br (update docker composer every day):\n```bash\n# Every minute\n*    *  * * * root docker run --name mirror --rm --device-read-bps /dev/xvda:600kb --device-write-bps /dev/xvda:600kb -e SLEEP=0 -v /var/www/html:/public webysther/packagist-mirror\n\n# Every 1:00 AM\n0    1  * * * root docker pull webysther/packagist-mirror \n\n# Every 2:30 AM\n30   2  * * * root service docker restart\n```\n\nYou can add more mirrors with additional URL's separated by comma:\n\n```bash\n-e DATA_MIRROR='https://packagist.jp,https://packagist.com.br'\n```\n\nMain mirror is used to get providers and fallback in case of error on data mirror, you can also change them:\n\n```bash\n-e MAIN_MIRROR='https://packagist.com.br'\n```\n\nYou also can change parallel connections for every mirror:\n\n```bash\n-e MAX_CONNECTIONS=10\n```\n\nAll enviroment options stay on `.env` file.\n\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FWebysther%2Fpackagist-mirror-docker.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FWebysther%2Fpackagist-mirror-docker?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebysther%2Fpackagist-mirror-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebysther%2Fpackagist-mirror-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebysther%2Fpackagist-mirror-docker/lists"}