Satis composer repository manager with a Web UI
Satis Composer repository manager with a simple web UI.
Satisfy provides:
Satisfy ease your satis configuration management. It provides a simple web UI over Satis to avoid a hand-editing of the satis.json configuration file. All repositories from a composer.lock file can also be imported via upload.
Basically, it just reads/writes the satis.json file and provides a web CRUD.
git clone https://github.com/project-satisfy/satisfy.git
wget http://getcomposer.org/composer.phar
php composer.phar install -n
./bin/satis init
By default, the satis.json
file is expected at the project root, but You can set another path under the parameter satis_filename
.
app/config/parameters.yml
according to your needs.You can restrict the access setting admin.auth
parameter (in app/config/parameters.yml
) to true
. Set authorized users in admin.users
config array.
Create a web server pointing to the public
directory. Browse to »/admin/« to manage the satis.json
. To serve the package.json
it is required to run Satis first.
Since Satisfy does only manages the Satis configuration file, it is necessary to build the package definitions using Satis.
A bin shortcut to Satis is already included in Satisfy, so run the following command to generate the files in the web folder.
./bin/satis build
For example, you can trigger a package generation for your BitBucket project by setting up a BitBucket webhook to connect back to [your-satis-url]/webhook/bitbucket every time you do a code push. This is more efficient than doing a full build and avoids you having to run full builds on a frequent schedule or logging in to the admin interface just to force a build.
You can run satisfy using prebuilt docker image. Here is an example how to setup it.
docker-compose up
docker-compose exec php bash
./bin/satis build
http://localhost:8000
version: '3'
services:
php:
image: ghcr.io/project-satisfy/satisfy:latest
ports:
- "${APP_PORT:-8000}:80"
volumes:
- ./satis.json:/var/www/html/satis.json
- ./parameters.yml:/var/www/html/config/parameters.yml
- ./auth.json:/var/www/.composer/auth.json:ro
environment:
APP_ENV: ${APP_ENV:-dev}
APP_DEBUG: ${APP_DEBUG:-1}
Satisfy is licensed under the MIT License - see the LICENSE file for details