No Description

Ben Firshman f430b82b43 Fix ps on Docker 0.8.1 when there is no command 11 years ago
bin 9550387e39 Add script to build an OS X binary 11 years ago
docs be1ba818e4 Document link aliases 11 years ago
fig f430b82b43 Fix ps on Docker 0.8.1 when there is no command 11 years ago
script 431ce67f85 Add script to build Linux binary 11 years ago
tests 044c348faf Add test for fig rm 11 years ago
.gitignore 9550387e39 Add script to build an OS X binary 11 years ago
.travis.yml 48e7b4b0a6 Remove Python 3 from Travis 11 years ago
CHANGES.md 6e9983fc6a Ship 0.3.0 11 years ago
Dockerfile ba66c849b5 Use Python base image and run as normal user 11 years ago
LICENSE 84ea31dc92 Add license 12 years ago
MANIFEST.in 229b59bd6e remove tests from distribution build 11 years ago
README.md b92651070f Add steps for contributing to README 11 years ago
requirements-dev.txt 431ce67f85 Add script to build Linux binary 11 years ago
requirements.txt 8e42d6fbb3 Remove six from requirements 11 years ago
setup.py 274728e5fb Update homepage in setup.py 11 years ago
tox.ini bf8875d930 Added tox file 11 years ago

README.md

Fig

Build Status PyPI version

Fast, isolated development environments using Docker.

Define your app's environment with Docker so it can be reproduced anywhere:

FROM orchardup/python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python app.py

Define the services that make up your app so they can be run together in an isolated environment:

web:
  build: .
  links:
   - db
  ports:
   - "8000:8000"
   - "49100:22"
db:
  image: orchardup/postgresql

(No more installing Postgres on your laptop!)

Then type fig up, and Fig will start and run your entire app:

example fig run

There are commands to:

  • start, stop and rebuild services
  • view the status of running services
  • tail running services' log output
  • run a one-off command on a service

Fig is a project from Orchard, a Docker hosting service. Follow us on Twitter to keep up to date with Fig and other Docker news.

Installation and documentation

Full documentation is available on Fig's website.

Running the test suite

$ script/test

Building OS X binaries

$ script/build-osx

Note that this only works on Mountain Lion, not Mavericks, due to a bug in PyInstaller.

Contributing to Fig

If you're looking contribute to Fig but you're new to the project or maybe even to Python, here are the steps that should get you started.

  1. Fork https://github.com/orchardup/fig to your username. kvz in this example.
  2. Clone your forked repository locally git clone [email protected]:kvz/fig.git.
  3. Enter the local directory cd fig.
  4. Set up a development environment python setup.py develop. That will install the dependencies and set up a symlink from your fig executable to the checkout of the repo. So from any of your fig projects, fig now refers to your development project. Time to start hacking : )
  5. Works for you? Run the test suite via ./scripts/test to verify it won't break other usecases.
  6. All good? Commit and push to GitHub, and submit a pull request.