Technical Overview

Engines is designed to simplify the process of running multiple containerized applications on a single host.

Automatic configuration of services

Cloud-native containers

Continuous integration

The Engines System software uses Docker to deploy applications and services within sandboxed Linux containers. Software can be installed from source, or using pre-built Docker containers.

When building from source, base images for a range frameworks, languages and application architectures are supported, including OpenJDK, Apache/PHP, Jetty, Tomcat, Sinatra, Meteor, Lua, Node, Python, Rails, RStudio and Base C.

Engines provides a set of core services, including volumes, databases, certificates and backups. Service can be shared between containers, so that data and functionality can be made available across applications.

Backup and restore

Email and user management

VPN, SSH, SSL

Blueprints

A blueprint is a manifest that allows Engines to install and manage software.

A blueprint.json specifies details such as source file locations, environment, replacement strings, templated files, service configurations, and schedules. Here is an example.

Blueprints can be published in a library to give an app store-like installation experience, or provided via a URL for side-loading of software.

 

Studio

The easiest way to produce a blueprint is to use the Engines Developer Studio.

It provides a form-based GUI for defining the contents of blueprints.json files.