Fork me on GitHub

satis-go

Satis-go is a web server for hosting and managing your Satis Repository for Composer Packages

Releases
Features
  • Satis-go provides a simple user interface for managing the repositories you want to track in your Composer package repo
  • Repo generation is delegated to Satis so your package repository will stay up to date with composer specs
  • No database required: the satis config file is managed directly while still managing writes and reads safely
  • In fact, satis is the only dependency: satis-go is written in go and only relys on having the `satis` build executable in your path. Download to /opt/satis-go/ and you're done installing.
  • RESTful API so you can integrate this into your CI
Roadmap
  • Add support for managing which versions to track via. the "require" config option (currently you are forced to "require-all")
Getting Started

Get Composer/Satis and install in path

    apt-get install -y php5-cli
    curl -sS https://getcomposer.org/installer | php
    php ./composer.phar create-project composer/satis /opt/satis --stability=dev --keep-vcs
    ln -s /opt/satis/bin/satis /usr/local/bin/satis
          

Install satis-go server & config

    
    mkdir /opt/satis-go
    wget -qO- https://github.com/benschw/satis-go/releases/download/0.1.1/satis-go-`uname`-`uname -m`.gz | \
        gunzip > /opt/satis-go/satis-go
    chmod +x /opt/satis-go/satis-go
    wget -qO-  https://github.com/benschw/satis-go/releases/download/0.1.1/config.yaml > \
        /opt/satis-go/config.yaml
          

Install admin ui for satis-go server

    
    wget -qO-  https://github.com/benschw/satis-admin/releases/download/0.1.1/admin-ui.tar.gz | \
        tar xzv -C /opt/satis-go/
          

Start the server

    
    /opt/satis-go/satis-go

          

Now you can navigate to http://localhost:8080/admin and start adding repos!

Use the REST api to create a source control web-hook which will refresh your repository: curl -X POST http://localhost:8080/api/generate-web-job

If you want to be able to use this on something other than "localhost", update /opt/satis-go/config.yaml to "bind" on something like "0.0.0.0:8080" and "repohost" to be whatever name you are pointing at this server.