A rapid development environment using docker for convenience

Get ready to Takeoff

Takeoff is a toolbox for rapid prototyping applications that uses scripts to make deployment of environments easy

It is not a framework and is agnostic to any solutions provided to it, but does have some configuration options and conventions it likes.

Takeoff provides a command line tool that allows you to create and control environments provided by Blueprints, repositories with configurations that Takeoff can use to create your environments. You can find documentation for the command line available commands

Under the hood is uses docker and docker-compose to minimise the hassle out of setting up frontend, backend and database servers.

Takeoff is designed to cut out those first few crucial hours where you are setting up your project environment, either at a hack day or for a work prototype. The default provided is opinionated but gives you basic authentication and hot reloading apps. The Wordpress blueprint gives you a PHP and Wordpress environment reading files from your system.

How to get started

Installing Dependencies

This software has some dependencies only been fully tested on Linux using Docker Community Edition.

First install this, Once installed you will have the docker and docker-compose commands. You also need git and node >= 8.4.0

Install Takeoff

Installing takeoff is simple, via NPM.

npm install -g @takeoff/takeoff
takeoff init <myenv>
cd myenv
takeoff start

The above commands will install all the dependencies and have you up and running in minutes.

You should now have a server running at http://localhost. You can access the API via http://localhost/api.

The default user is admin and password is password. Do not expect this to be a fully secure environment.

Disclaimer: If you build an app with this you wish you deploy, you are responsible for your own security.

Creating new environments

Currently there are two blueprints:

When you want to create a new environment you can type:

    takeoff new <environment>
    takeoff start <environment>

This will start up your new environment.

There is also a Wordpress Blueprint, you can find out more about installing it via it’s documentation

Platform Support

Currently only Linux is fully tested and supported out the box, but support for other OS is coming (testers and contributors welcome!). There is a page for Windows Users to provide extra information in the quest to get it working.

Documentation

Architecture

After installing, you will find several folders and files:

    -|
     |- envs/default # The default environment installed
        |- env # Folders with the source code you can change
            |- api # This is the Hapi API Server
            |- app # This is the frontend app
            |- nginx # Nginx configuration
            |- db # Postgres DB config
        |- docker # This is where all the docker configurations are kept
            |- docker-compose.yml # The glue file for your services
            |- api # This is the Hapi API Server
            |- app # This is the frontend app
            |- nginx # Nginx configuration
            |- db # Postgres DB config
     |- docs # Docs folder, for Github Pages
     |- plugins # Scripts that perform tasks
     |- README.md # The file you are looking at!

References

Sponsor