Simple Repository Generator

Fund package maintenance!

Installs: 903 473

Dependents: 17

Suggesters: 0

Security: 0

Stars: 2 908

Watchers: 100

Forks: 496

Open Issues: 92


1.0.0 2017-08-10 06:25 UTC

This package is auto-updated.

Last update: 2023-01-23 10:26:32 UTC


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.

While not required, it is appreciated if your contribution meets our coding standards.

You can check these yourself by running the tools we use:

# install tooling & dependencies
for d in tools/*; do composer --working-dir=$d install; done

# run php-cs-fixer
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix

# run phpstan

# alternatively, use the shortcuts
composer phpstan
composer php-cs-fixer[-fix]


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