satis

Simple static Composer repository generator - For full private Composer repo use Private Packagist -

Github stars Tracking Chart

Satis

Simple static Composer repository generator.

Build Status
codecov

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-master
  • 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

Purge

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

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.

Contributing

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.

Authors

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

Community Tools

  • satis-go - A simple web server for managing Satis configuration and
    hosting the generated Composer repository.
  • satisfy - Symfony based composer repository manager with a simple web UI.
  • satis-control-panel - Simple web UI for managing your Satis Repository
    with optional CI integration.
  • composer-satis-builder - Simple tool for updating the Satis configuration
    (satis.json) "require" key on the basis of the project composer.json.

Examples

License

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

Main metrics

Overview
Name With Ownercomposer/satis
Primary LanguagePHP
Program languagePHP (Language Count: 7)
Platform
License:MIT License
所有者活动
Created At2012-01-16 18:10:58
Pushed At2025-07-14 12:32:38
Last Commit At
Release Count4
Last Release Name1.0.0 (Posted on )
First Release Name1.0.0-alpha1 (Posted on )
用户参与
Stargazers Count3.2k
Watchers Count93
Fork Count525
Commits Count1k
Has Issues Enabled
Issues Count394
Issue Open Count99
Pull Requests Count416
Pull Requests Open Count2
Pull Requests Close Count190
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private