XUtils

Satis

A static Composer repository generator.


Satis

A simple static Composer repository generator.

Run as Docker container

Note: use composer/satis for Docker Hub, ghcr.io/composer/satis for GitHub container registry.

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.

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

tools/phpstan/vendor/bin/phpstan

alternatively, use the shortcuts

composer phpstan composer php-cs-fixer[-fix] “`

Authors

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

Community Tools

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

Examples

  • [eventum/composer] - A simple static set of packages hosted in GitHub Pages
  • [satis.spatie.be] - A brief guide to setting up and securing a Satis repository

Articles

  • coming soon...