All posts in Apps

Getting started with BHost Apps

Posted by / Mar 3, 2017 / Categories: Apps

Terminology

Before you get going with BHost Apps, familiarize yourself with some definitions:

BHost Apps – the name of our platform which allows easy management of Docker based applications.

Deployments – consider a deployment a project of sorts – a deployment might contain one or more containers. For example “Marketing Site” might be one deployment, while “Email Service” would be another.

For example, here are four different deployments which are fully isolated and unrelated:

Containers – a container is based on a container image. A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. For example, for a WordPress blog, you may have one container running a webserver and the WordPress application, and another running a database. In a containerized world, these would operate as separate isolated instances, but can talk to each other over the network. Because they are standardized, you can easily re-use a container image across multiple deployments.

For example, here is one of the simplest deployments on BHost Apps – a WordPress website running on 2 containers – a WordPress container and a MariaDB database container:

An example of a deployment with 2 containers

Reference Names

Every single container on BHost Apps is given a unique identifier hostname. This will look like randomword-randomword-number.apps.BHost.net – for example: sparkling-blade-85325.apps.bhost.net. If you ever need to contact support about a container, please quote this hostname.

Pre-configured applications

Many applications on BHost Apps will automatically get configured on deployment – for example, if you want to run WordPress, a WordPress container and a MariaDB container will deploy and automatically be configured to talk to each other.

Managing a container

If you need to modify files on a container, the filesystem can be accessed by SFTP. The SFTP credentials can be found in the container settings section of the control panel:

Network & Connectivity

Deployment Network

Every deployment on BHost Apps is given a private /24 IP address range in the 10.x.x.x range. Each container within a deployment is allocated an IP within this range.

Your container will also use a particular port defined by the application which can be viewed in the container settings:

If you use custom containers, you can configure ports and container dependencies on your custom container settings page (documentation to follow).

HTTP connections from the outside internet

If your container runs a web application (i.e. something HTTP based) then you can connect to it from the outside internet via http – e.g. http://sparkling-blade-85325.apps.bhost.net

We also have a valid wildcard SSL certificate for *.apps.bhost.net so you can also connect via HTTPS should you prefer e.g. https://sparkling-blade-85325.apps.bhost.net

The HTTP connection passes through our own HTTP load balancer / reverse proxy which receives the HTTP request and passes it to your container on the relevant internal port number.

If you would like our load balancer to proxy traffic with a different hostname (i.e. you want to use your own domain rather than the default apps.bhost.net domain) you can configure that easily via container settings:

If you would like to install your own SSL certificate for HTTPS connections you can easily do so for HTTP containers by pressing “Install SSL”:

Non-HTTP connections from the outside internet

We don’t currently support this but we are working on supporting this very soon.