Stackbrew is a web-application that performs continuous building of the docker standard library.
- Install python if it isn't already available on your OS of choice
- Install the easy_install tool (
sudo apt-get install python-setuptoolsfor Debian/Ubuntu) - Install the python package manager,
pip(easy_install pip) - Run the following command:
sudo pip install -r requirements.txt - You should now be able to use the
brew-cliscript as such.
These additional instructions are necessary for the stackbrew application to function.
- Install sqlite3 (
sudo apt-get install sqlite3on Debian/Ubuntu) - Create the /opt/stackbrew/repos (
mkdir -p /opt/stackbrew/repos) folder. - Run the
create_db.pyscript (python create_db.py) - Edit
config.jsonappropriately to your needs. - If you're using the
pushoption, you will need to have a valid.dockercfgfile in your HOME directory. - You can start the application with the command
python app.py
Builds are performed regularly and pushed to the public index.
A small JSON API allows users to check the status of past builds.
-
GET /summaryorGET /statusGET /summary { "build_date": "2013-10-04 18:08:45.685881", "id": 16, "result": true }
-
GET /summary/<summary_id>GET /summary/16 [ { "commit_id": "7362ff5b812f93eceafbdbf5e5959f676f731f80", "exception": null, "source_desc": "git://github.com/dotcloud/hipache@C:7362ff5b812f93eceafbdbf5e5959f676f731f80", "image_id": "5d313f0ec5af", "tag": "0.2.4", "summary_id": 16, "id": 1, "repo_name": "hipache" }, { "commit_id": "7362ff5b812f93eceafbdbf5e5959f676f731f80", "exception": null, "source_desc": "git://github.com/dotcloud/hipache@C:7362ff5b812f93eceafbdbf5e5959f676f731f80", "image_id": "5d313f0ec5af", "tag": "latest", "summary_id": 16, "id": 2, "repo_name": "hipache" }, ... ]
-
GET /success/<repo_name>?tag=<tag> -
tagparameter is optional, defaults tolatestGET /success/ubuntu?tag=12.10 { "commit_id": "abd58c43ceec4d4a21622a1e3d45f676fe912e745d31", "exception": null, "source_desc": "git://github.com/dotcloud/ubuntu-quantal@B:master", "image_id": "d462fecc33e1", "tag": "12.10", "summary_id": 17, "id": 19, "repo_name": "ubuntu" }
./brew-cli -h
Display usage and help.
./brew-cli
Default build from the default repo/branch. Images will be created under the
library/ namespace. Does not perform a remote push.
./brew-cli -n mycorp.com -b stable --push git://github.com/mycorp/docker
Will fetch the library definition files in the stable branch of the
git://github.com/mycorp/docker repository and create images under the
mycorp.com namespace (e.g. mycorp.com/ubuntu). Created images will then
be pushed to the official docker repository (pending: support for private
repositories)