Getting Started

Now that you’ve successfully installed Kalabox you can start creating your own apps. Kalabox apps are completely isolated development environments. At a high level they contain the following things:

Metadata about the containers and services your application needs to run.

Metadata about the tooling your application needs for development.

High level configuration such as name, service exposure, file sharing, etc.

Your application’s codebase.

Apps are mutually exclusive

This architecture means that everything you need to run and develop your app is contained within the app itself. That means you can blow away app1 without it having any impact on the containers and tools you are using on app2.

Kalabox Apps

Kalabox apps can be quite simple or massively complex. For example, a Kalabox app can be a static HTML site, or can mimic and integrate with hosting providers like Pantheon.

A Kalabox app at it’s smallest requires only two files:

A kalabox.yml file that contains the high level configuration for your app.

A kalabox-compose.yml file that contains the services your app needs to run.

pluginconfig - Tells Kalabox how this apps sharing and services plugins should be configured. Read more about that here.

kalabox-compose.yml

This is a simple docker-compose file that tells Kalabox to spin up a container called examplehtml1_web_1, which should be built using the latest official image of nginx and whose port 80 should be exposed to the outside world so we can communicate with it. It also sets the containers hostname based on the environmental variable $KALABOX_APP_HOSTNAME. Read more about that in the tip below.