Skip to content

FolhaSP/satisfy

 
 

Repository files navigation

Satisfy Build Status

Satis Composer repository manager with a simple web UI.

Satis: list composer repositories Satis: add a new composer repository Satis: update an existing composer repository

Introduction

Satisfy provides:

  • a Web UI: A CRUD to manage your satis configuration file
  • a simple security layer with a login form
  • Satis itself

Satisfy ease your satis configuration management. It provides 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.

How it works ?

Basically, it just reads/writes the satis.json file and provides a web CRUD.

  • On each HTTP request, the satis.json is loaded.
  • If a write occurs in this file, a backup is made in app/data/

Installation

Composer

  • Download composer wget http://getcomposer.org/composer.phar
  • Install php composer.phar create-project playbloom/satisfy --stability=dev

Satis configuration

Define your default/existing satis configuration.

By default, the satis.json file is expected at the project root.

Run echo '{"name":"My Repository","homepage":"http://packages.example.org","repositories":[]}' > satis.json to create an empty Satis configuration file.

Application configuration

  • Define your configuration cp app/config.php.dist app/config.php
  • Customize app/config.php according to your needs.

Security

You can restrict the access setting auth.use_login_form parameter (in app/config.php) to true. Set authorized users in auth.users config array.

Use the following command to encode the password you want to use:

php -r "echo hash('sha1', 'mypassword');"

Run Satisfy

Create a webserver pointing to the web directory. Browse to »/admin/« to manage the satis.json. To serve the package.json it is required to run Satis first.

Satis packages definition generation

Since Satisfy does only manage 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 ./satis.json web/

Known limitation

Since it's an ultra-KISS project, it doesn't handle race conditions with several simultaneous writes. This could be avoided by extending the project with a simple SQLite layer for example, but then you have to manage the auto-generation of the satis.json file...

Author

Ludovic Fleury - [email protected] - http://twitter.com/ludofleury Julius Beckmann - [email protected] - https://twitter.com/h4cc

Credits

KnpLabs and @ubermuda for the really KISS open-id layer in the marketplace repository

License

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

Bitdeli Badge

About

Satis composer repository manager with a Web UI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 84.7%
  • HTML 13.1%
  • ApacheConf 1.9%
  • Shell 0.3%