Retour au classement

composer/satis

PHP

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

composerpackagiststatic-packagiststatic-repositoryhacktoberfest
Croissance des étoiles
Étoiles
3.3k
Forks
532
Croissance hebdomadaire
Issues
99
1k2k3k
janv. 2012nov. 2016sept. 2021juil. 2026
ArtefactsPackagistcomposer require composer/satis
README

Satis

A simple static Composer repository generator.

About

Satis is a tool that allows PHP developers to create a private package repository for their projects' dependencies. It provides increased control over package distribution, improved security, and faster package installations, by creating a static Composer registry that can be hosted anywhere (even via Docker, locally).

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 --keep-vcs --no-dev 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

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.

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.

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

License

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

Dépôts similaires
composer/composer

Dependency Manager for PHP

PHPPackagistMIT Licensephpcomposer
getcomposer.org
29.5k4.8k
RubyMetric/chsrc

chsrc 全平台通用换源工具与框架. Change Source everywhere for every software

CGNU General Public License v3.0gemlinux
chsrc.run
6.8k277
roots/bedrock

WordPress boilerplate with Composer and Git, easier configuration, and an improved folder structure

PHPPackagistMIT Licensecomposerwordpress
roots.io/bedrock/
6.5k1.2k
catfan/Medoo

The lightweight PHP database framework to accelerate the development.

PHPPackagistMIT Licensephpphp-framework
medoo.in
4.9k1.1k
symfony/flex

Composer plugin for Symfony

PHPPackagistMIT Licensesymfonyflex
4.2k197
laravel-zero/laravel-zero

A PHP framework for console artisans

PHPPackagistlaravelphp
laravel-zero.com
4k208
shivammathur/setup-php

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.

TypeScriptnpmMIT Licensephpgithub-actions
setup-php.com
3.2k414
Roave/SecurityAdvisories

:closed_lock_with_key: Security advisories as a simple composer exclusion list, updated daily

MIT Licensephpsecurity-advisories
2.9k111
pmndrs/postprocessing

A post processing library for three.js.

JavaScriptnpmzlib Licensepost-processingimage-effects
2.8k250
cmgmyr/laravel-messenger

Simple user messaging package for Laravel

PHPPackagistMIT Licenselaravelphp
2.6k510
PHPCompatibility/PHPCompatibility

PHP Compatibility check for PHP_CodeSniffer

PHPPackagistGNU Lesser General Public License v3.0phpphp-codesniffer
techblog.wimgodden.be/tag/codesniffer/
2.3k204
slimkit/plus

💝The Plus (ThinkSNS+) is a powerful, easy-to-develop social system built with Laravel.

PHPPackagistOtherthinksnsweb
slimkit.github.io/plus/
2.2k466