{"id":13485988,"url":"https://github.com/composer/satis","last_synced_at":"2025-05-14T08:05:18.228Z","repository":{"id":37779371,"uuid":"3192821","full_name":"composer/satis","owner":"composer","description":"Simple static Composer repository generator - For a full private Composer repo use Private Packagist","archived":false,"fork":false,"pushed_at":"2025-05-06T06:30:04.000Z","size":3276,"stargazers_count":3188,"open_issues_count":100,"forks_count":525,"subscribers_count":94,"default_branch":"main","last_synced_at":"2025-05-07T07:18:50.933Z","etag":null,"topics":["composer","hacktoberfest","packagist","static-packagist","static-repository"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/composer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://packagist.com","tidelift":"packagist/composer/composer","github":"composer"}},"created_at":"2012-01-16T18:10:58.000Z","updated_at":"2025-05-06T06:30:08.000Z","dependencies_parsed_at":"2024-01-22T16:58:16.776Z","dependency_job_id":"cfbd257a-4be6-4dcf-805e-3f66160cb743","html_url":"https://github.com/composer/satis","commit_stats":{"total_commits":793,"total_committers":147,"mean_commits":5.394557823129252,"dds":0.7074401008827238,"last_synced_commit":"79d28d7d06b663ed38e807fb856eec30cebfc786"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/composer%2Fsatis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/composer%2Fsatis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/composer%2Fsatis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/composer%2Fsatis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/composer","download_url":"https://codeload.github.com/composer/satis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254101588,"owners_count":22014907,"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","hacktoberfest","packagist","static-packagist","static-repository"],"created_at":"2024-07-31T18:00:36.056Z","updated_at":"2025-05-14T08:05:18.208Z","avatar_url":"https://github.com/composer.png","language":"PHP","readme":"# Satis\n\nA simple static Composer repository generator.\n\n## About\n\nSatis is a tool that allows PHP developers to create a private package repository for their projects' dependencies. It provides\nincreased control over package distribution, improved security, and faster package installations, by creating a static Composer\nregistry that can be hosted anywhere (even via Docker, locally).\n\n## Run from source\n\nSatis requires a recent PHP version, it does not run with unsupported PHP versions. Check the `composer.json` file for details.\n\n- Install Satis: `composer create-project --keep-vcs --no-dev composer/satis:dev-main`\n- Build a repository: `php bin/satis build \u003cconfiguration-file\u003e \u003coutput-directory\u003e`\n\nRead the more detailed instructions in the [documentation][].\n\n## Run as Docker container\n\n\u003e Note: use `composer/satis` for Docker Hub, `ghcr.io/composer/satis` for GitHub container registry.\n\nPull the image:\n\n```sh\ndocker pull composer/satis\n```\n\nRun the image (with Composer cache from host):\n\n```sh\ndocker run --rm --init -it \\\n  --user $(id -u):$(id -g) \\\n  --volume $(pwd):/build \\\n  --volume \"${COMPOSER_HOME:-$HOME/.composer}:/composer\" \\\n  composer/satis build \u003cconfiguration-file\u003e \u003coutput-directory\u003e\n```\n\nIf you want to run the image without implicitly running Satis, you have to\noverride the entrypoint specified in the `Dockerfile`:\n\n```sh\n--entrypoint /bin/sh\n```\n\n## Purge\n\nIf you choose to archive packages as part of your build, over time you can be\nleft with useless files. With the `purge` command, you can delete these files.\n\n```sh\nphp bin/satis purge \u003cconfiguration-file\u003e \u003coutput-dir\u003e\n```\n\n\u003e Note: don't do this unless you are certain your projects no longer reference any of these archives in their `composer.lock` files.\n\n## Updating\n\nUpdating Satis is as simple as running `git pull \u0026\u0026 composer install` in the\nSatis directory.\n\nIf you are running Satis as a Docker container, simply pull the latest image.\n\n## Contributing\n\nPlease note that this project is released with a [Contributor Code of Conduct][].\nBy participating in this project you agree to abide by its terms.\n\nFork the project, create a feature branch, and send us a pull request.\n\nIf you introduce a new feature, or fix a bug, please try to include a testcase.\n\nWhile not required, it is appreciated if your contribution meets our coding standards.\n\nYou can check these yourself by running the tools we use:\n\n```bash\n# install tooling \u0026 dependencies\nfor d in tools/*; do composer --working-dir=$d install; done\n\n# run php-cs-fixer\ntools/php-cs-fixer/vendor/bin/php-cs-fixer fix\n\n# run phpstan\ntools/phpstan/vendor/bin/phpstan\n\n# alternatively, use the shortcuts\ncomposer phpstan\ncomposer php-cs-fixer[-fix]\n```\n\n## Authors\n\nSee the list of [contributors][] who participate(d) in this project.\n\n## Community Tools\n\n- [satisfy][] - Symfony based composer repository manager with a simple web UI.\n\n## Examples\n\n- [eventum/composer] - A simple static set of packages hosted in GitHub Pages\n- [satis.spatie.be] - A brief guide to setting up and securing a Satis repository\n\n## License\n\nSatis is licensed under the MIT License - see the [LICENSE][] file for details\n\n[documentation]: https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md\n[contributor code of conduct]: https://www.contributor-covenant.org/version/2/0/code_of_conduct/\n[contributors]: https://github.com/composer/satis/contributors\n[satisfy]: https://github.com/ludofleury/satisfy\n[license]: https://github.com/composer/satis/blob/main/LICENSE\n[eventum/composer]: https://github.com/eventum/composer\n[satis.spatie.be]: https://alexvanderbist.com/2021/setting-up-and-securing-a-private-composer-repository/\n","funding_links":["https://packagist.com","https://tidelift.com/funding/github/packagist/composer/composer","https://github.com/sponsors/composer"],"categories":["Packagist Self Hosted","Table of Contents","PHP","Dependency Management Extras","其他的依赖管理","其他的依赖管理 Dependency Management Extras","目录","Package Management Extras","依赖管理( Dependency Management )","Package Management Related"],"sub_categories":["Dependency Management Extras","依赖关系管理临时演员 dependency-management-extras"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomposer%2Fsatis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomposer%2Fsatis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomposer%2Fsatis/lists"}