Difference between revisions of "KoBo Toolbox Requirements and Pre-requisites"

Step by step how-to instructions on installing and running KoBo Toolbox on a standalone server.
Jump to: navigation, search
m
(Tag: visualeditor)
m
(Tag: visualeditor)
 
(3 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
Resource estimates are provided for two cases:
 
Resource estimates are provided for two cases:
  
For a '''production system''' with tens (and hundreds) of users, minimim recommended allocations are provided '''in bold'''; For a ''pilot system'', that will provide the full KoBo functionality to a lvery imited number of users, ''italics figures'' indicate the smallest configuration known to have ran the system in the past.  
+
For a '''production system''' with tens (and hundreds) of users, minimim recommended allocations are provided '''in bold'''; For a ''pilot system'', that will provide the full KoBo functionality to a very imited number of users, ''italics figures'' indicate the smallest configuration known to have ran the system in the past.  
 
* Virtualized or preferably bare server:
 
* Virtualized or preferably bare server:
 
** '''Full CPU''' or more (''2 cpu cores'')
 
** '''Full CPU''' or more (''2 cpu cores'')
Line 14: Line 14:
 
** '''50 GB backup''' storage (''5 gb backup)''
 
** '''50 GB backup''' storage (''5 gb backup)''
 
** Internet connectivity
 
** Internet connectivity
* OS: Ubuntu Xenial , v16.04.1 LTS
+
* OS: Ubuntu Xenial, v16.04.1 LTS
  
 
==== Docker engine ====
 
==== Docker engine ====
Practically the only software package that has to be installed on the Host, apart from OS packages and Git, is the Docker engine. That in effect means that most of the configuration, operation and maintenance tasks are performed through Docker;Familiarize yourself further with [https://docs.docker.com/engine/understanding-docker/ official Understanding Docker article] and conneccted items.
+
Practically the only software package that has to be installed on the Host, apart from OS packages and Git, is the Docker engine. That in effect means that most of the configuration, operation and maintenance tasks are performed through Docker. Youi might want to familiarize yourself furtherly with [https://docs.docker.com/engine/understanding-docker/ official Understanding Docker article] and linked pages.
  
 
==== Images ====
 
==== Images ====
Line 25: Line 25:
  
 
==== Containers ====
 
==== Containers ====
The actual work occurs within Containers.  
+
The actual work occurs within the Containers.  
 
[[File:KoBo-Toolbox-Diagram.png|alt=KoBo Toolbox Architectural Diagram|left|thumb|150x150px|KoBo Toolbox Architectural Diagram]]
 
[[File:KoBo-Toolbox-Diagram.png|alt=KoBo Toolbox Architectural Diagram|left|thumb|150x150px|KoBo Toolbox Architectural Diagram]]
 
A container is a light-weight virtual machine - it uses the host machine’s Linux kernel, and consists of any extra files you add when the image is created, along with metadata associated with the container at creation or when the container is started. Each container is built from an image. The image defines the container’s contents, which process to run when the container is launched, and a variety of other configuration details.
 
A container is a light-weight virtual machine - it uses the host machine’s Linux kernel, and consists of any extra files you add when the image is created, along with metadata associated with the container at creation or when the container is started. Each container is built from an image. The image defines the container’s contents, which process to run when the container is launched, and a variety of other configuration details.
  
KoBo Toolbox setup, as described in this document, consists of (at least) nine Containers, running a total of 11 services. There are eight different services in that lot of 11, or ''eight different technologies'' in the coloquial sense of the phrase. This aspect alone can pose a significant challenge in adopting this technology. The Docker's promise, however, is that the Software vendor will control the running environment so tightly, that incidents requiring technical expertise will occur less frequently during the product lifetime.
+
KoBo Toolbox setup, as described in this document, consists of (at least) nine Containers, running a total of 11 services. There are eight different services in the lot of 11, or ''eight different technologies'' in the coloquial sense of the phrase. This aspect alone can pose a significant challenge in adopting this technology. The Docker's promise, however, is that the Software vendor will control the running environment so finely, that incidents requiring technical expertise will occur less frequently during the product lifetime.
  
 
Please refer to [[KoBo Toolbox Architecture]] for further information..
 
Please refer to [[KoBo Toolbox Architecture]] for further information..
  
 
==== Registry ====
 
==== Registry ====
Docker Registry stores Images.  
+
Docker Registry stores the aforementioned Images, needed to start Containers.  
  
 
After your Software vendor builds a Docker image and publishes (''pushes'') it to a public or a private Registry. it becomes readily-available to use in your system. From an usual software patching stand-point, it is pure magic: the application and its environment come pre-packed and ready to run. Patchied software (i.e. "with security updates installed") tends to have more environment-related issues, as the environment (ithe computer it is running on) changes with time, becoming less controlled or even unknown to the Software.
 
After your Software vendor builds a Docker image and publishes (''pushes'') it to a public or a private Registry. it becomes readily-available to use in your system. From an usual software patching stand-point, it is pure magic: the application and its environment come pre-packed and ready to run. Patchied software (i.e. "with security updates installed") tends to have more environment-related issues, as the environment (ithe computer it is running on) changes with time, becoming less controlled or even unknown to the Software.
 +
 +
==== Related ====
 +
* [[Docker overview|Docker at a glance]]
 +
* [[KoBo Toolbox Architecture]]

Latest revision as of 12:45, 4 January 2017

Docker owner
Top-level view of a Docker system from the (technical) owner's perspective

Running your own instance of KoBo Toolbox will put you in the role of the Owner, as depicted in the diagram. The obvious pre-reqisite is a host, i.e. a hosting server with full administrative access.

KoBo Toolbox Setup procedure advises the installation of Docker Compose on 64bit Linux.This guide covers the operation on Ubuntu Linux Xenial. Other Ubuntu options require nearly the same procedure, while other Linux and othe OS installations may differ significantly, refer to Install Docker Compose official guide.

Hosting server

Resource estimates are provided for two cases:

For a production system with tens (and hundreds) of users, minimim recommended allocations are provided in bold; For a pilot system, that will provide the full KoBo functionality to a very imited number of users, italics figures indicate the smallest configuration known to have ran the system in the past.

  • Virtualized or preferably bare server:
    • Full CPU or more (2 cpu cores)
    • 4 GB RAM or more (2 gb ram)
    • 200 GB storage space (50 gb storage)
    • 50 GB backup storage (5 gb backup)
    • Internet connectivity
  • OS: Ubuntu Xenial, v16.04.1 LTS

Docker engine

Practically the only software package that has to be installed on the Host, apart from OS packages and Git, is the Docker engine. That in effect means that most of the configuration, operation and maintenance tasks are performed through Docker. Youi might want to familiarize yourself furtherly with official Understanding Docker article and linked pages.

Images

A Docker image is a read-only template with instructions for creating a Docker container. An image might contain an Ubuntu operating system with Apache web server and a simple web application installed. 

Images, or rather instructions how to obtain them on-line, are provided by the Software vendor. Except during the system setup stage, they are of little particular interest to the Owner in our context and will not explained in detail.Please refer to article on Docker.com for more information.

Containers

The actual work occurs within the Containers.

KoBo Toolbox Architectural Diagram
KoBo Toolbox Architectural Diagram

A container is a light-weight virtual machine - it uses the host machine’s Linux kernel, and consists of any extra files you add when the image is created, along with metadata associated with the container at creation or when the container is started. Each container is built from an image. The image defines the container’s contents, which process to run when the container is launched, and a variety of other configuration details.

KoBo Toolbox setup, as described in this document, consists of (at least) nine Containers, running a total of 11 services. There are eight different services in the lot of 11, or eight different technologies in the coloquial sense of the phrase. This aspect alone can pose a significant challenge in adopting this technology. The Docker's promise, however, is that the Software vendor will control the running environment so finely, that incidents requiring technical expertise will occur less frequently during the product lifetime.

Please refer to KoBo Toolbox Architecture for further information..

Registry

Docker Registry stores the aforementioned Images, needed to start Containers.

After your Software vendor builds a Docker image and publishes (pushes) it to a public or a private Registry. it becomes readily-available to use in your system. From an usual software patching stand-point, it is pure magic: the application and its environment come pre-packed and ready to run. Patchied software (i.e. "with security updates installed") tends to have more environment-related issues, as the environment (ithe computer it is running on) changes with time, becoming less controlled or even unknown to the Software.

Related