Simple static Composer repository generator.

It uses any composer.json file as input and dumps all the required (according to their version constraints) packages into a Composer Repository file.

Code Quality Rank: L3
Monthly Downloads: 12,908
Programming language: PHP
License: MIT License
Latest version: v1.0.0

Satis alternatives and similar libraries

Based on the "Dependency Management Extras" category.
Alternatively, view Satis alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Satis or a related project?

Add another 'Dependency Management Extras' Library



Simple static Composer repository generator.

Run from source

Satis requires a recent PHP version, it does not run with unsupported PHP versions. Check the composer.json file for details.

  • Install satis: composer create-project composer/satis:dev-main
  • Build a repository: php bin/satis build <configuration-file> <output-directory>

Read the more detailed instructions in the documentation.

Run as Docker container

Pull the image:

docker pull composer/satis

Run the image (with Composer cache from host):

docker run --rm --init -it \
  --user $(id -u):$(id -g) \
  --volume $(pwd):/build \
  --volume "${COMPOSER_HOME:-$HOME/.composer}:/composer" \
  composer/satis build <configuration-file> <output-directory>

If you want to run the image without implicitly running Satis, you have to override the entrypoint specified in the Dockerfile:

--entrypoint /bin/sh


If you choose to archive packages as part of your build, over time you can be left with useless files. With the purge command, you can delete these files.

php bin/satis purge <configuration-file> <output-dir>

Note: don't do this unless you are certain your projects no longer reference any of these archives in their composer.lock files.


Updating Satis is as simple as running git pull && composer install in the Satis directory.

If you are running Satis as a Docker container, simply pull the latest image.


Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Fork the project, create a feature branch, and send us a pull request.

If you introduce a new feature, or fix a bug, please try to include a testcase.


See the list of contributors who participate(d) in this project.

Community Tools

  • satisfy - Symfony based composer repository manager with a simple web UI.



Satis is licensed under the MIT License - see the LICENSE file for details

*Note that all licence references and agreements mentioned in the Satis README section above are relevant to that project's source code only.