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 crutial 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.
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
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.
Currently there are two blueprints:
- The default blueprint (takeoff-blueprint-basic is installed as the default
takeoff
environment in theenv
folder.)
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
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.
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!
- This document environment was based on the tutorial Dockerize your app and keep hot-reloading ! but adding more utilities and making it easier to work as a starter kit.
- Blog post announcing Takeoff
- Logo made with LogoMakr