AnsibleCube is a set of instructions (source code), that automatically deploys the IdeasCube platform and downloads several types of content (Kiwix content, Khan Academy videos, Libraries Without Borders curated content).
Ansible pulls configuration files, software and content to the IdeasCube server (either an AMD64 server or an ARM server).
It was originally designed to push configuration files from a primary server to several replicas. But you can also use it the other way around where the replicas can pull content from a Git server.
In our case, the master is the GitHub repository, which contains a playbook with several roles. Each time the IdeasCube Box gets an Internet connection, it synchronizes the distant Git repository with its local Git repository and updates its system. At this stage you can do almost anything!
Our network architecture is based on:
A GitHub repo which holds all the recipes
A Filer which holds all the large files to allow fast synchronization of the GitRepo
So far, AnsibleCube has only been tested with ARM Olimex Lime2 A20, Debian Jessie, Kernel 3.4/4.8 and AMD64 servers. It should work on any Jessie distribution, and probably on Ubuntu and Raspberry Pi.
This playbook installs:
It will setup :