Fork me on GitHub


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

  • 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
  • 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 | 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-`uname`-`uname -m`.gz | \
        gunzip > /opt/satis-go/satis-go
    chmod +x /opt/satis-go/satis-go
    wget -qO- > \

Install admin ui for satis-go server

    wget -qO- | \
        tar xzv -C /opt/satis-go/

Start the server



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 "" and "repohost" to be whatever name you are pointing at this server.