diff --git a/roles/7-edu-apps/tasks/main.yml b/roles/7-edu-apps/tasks/main.yml index 62699e42b..941f6347e 100644 --- a/roles/7-edu-apps/tasks/main.yml +++ b/roles/7-edu-apps/tasks/main.yml @@ -9,6 +9,12 @@ when: kalite_install tags: kalite +- name: KOLIBRI + include_role: + name: kolibri + when: kolibri_install + tags: kolibri + - name: KIWIX include_role: name: kiwix diff --git a/roles/kolibri/README.rst b/roles/kolibri/README.rst index eb0b5d4ee..197581251 100644 --- a/roles/kolibri/README.rst +++ b/roles/kolibri/README.rst @@ -2,19 +2,20 @@ Kolibri README ============== -This role install Kolibri, an open-source educational platform specially designed -to provide offline access to a wide range of quality, openly licensed educational -contents in low-resource contexts like rural schools, refugee camps, orphanages, -and also in non-formal school programs. +This Ansible role installs Kolibri within Internet-in-a-Box. Kolibri is an +open-source educational platform specially designed to provide offline access +to a wide range of quality, openly licensed educational contents in +low-resource contexts like rural schools, refugee camps, orphanages, and also +in non-formal school programs. Access ------ -If enabled and with the default settings Kolibri should be accessible at http://box:8009/ +If enabled and with the default settings Kolibri should be accessible at http://box:8009 To login to Kolibri enter - User Name: Admin + Username: Admin Password: changeme @@ -26,6 +27,7 @@ in this readme assumes the default values. Automatic Device Provisioning ----------------------------- + When kolibri_provision is enabled, the installation will setup the following settings: Kolibri Facility name: 'Kolibri-in-a-Box' @@ -40,12 +42,12 @@ When kolibri_provision is enabled, the installation will setup the following set Cloning content --------------- -In Kolibri 0.10 introduced `kolibri manage deprovision` which will remove + +Kolibri 0.10 introduced `kolibri manage deprovision` which will remove user configuration, leaving content intact. You can then copy/clone /library/kolibri to a new location. - -Trouble Shooting +Troubleshooting ---------------- You can run the server manually with the following commands: @@ -54,7 +56,7 @@ You can run the server manually with the following commands: export KOLIBRI_HOME=/library/kolibri - export KOLIBRI_HTTP_PORT=8009 (other Kolibri will run on default port 8080) + export KOLIBRI_HTTP_PORT=8009 (otherwise Kolibri will try to run on default port 8080) kolibri start diff --git a/roles/kolibri/defaults/main.yml b/roles/kolibri/defaults/main.yml index 769604cd1..e19db7b0d 100644 --- a/roles/kolibri/defaults/main.yml +++ b/roles/kolibri/defaults/main.yml @@ -1,9 +1,9 @@ # The values here are defaults. -# To override them edit the main var definitions in iiab/vars +# To override them edit /opt/iiab/iiab/vars/local_vars.yml # Installation Variables -kolibri_install: True -kolibri_enabled: True +kolibri_install: False +kolibri_enabled: False # Kolibri folder to store its data and configuration files. kolibri_home: "{{ content_base }}/kolibri" @@ -11,7 +11,7 @@ kolibri_home: "{{ content_base }}/kolibri" kolibri_http_port: 8009 kolibri_url: /kolibri/ kolibri_path: "{{ iiab_base }}/kolibri" -kolibri_exec_path: /usr/local/bin/kolibri +kolibri_exec_path: /usr/bin/kolibri # Kolibri system user kolibri_user: kolibri @@ -21,14 +21,14 @@ kolibri_user: kolibri kolibri_provision: True # Kolibri Facility name -kolibri_facility: 'Kolibri-in-a-Box' +kolibri_facility: Kolibri-in-a-Box # Kolibri Preset type: formal, nonformal, informal -kolibri_preset: 'formal' +kolibri_preset: formal # Kolibri default language (ar,bn-bd,en,es-es,fa,fr-fr,hi-in,mr,nyn,pt-br,sw-tz,ta,te,ur-pk,yo,zu) -kolibri_language: 'en' +kolibri_language: en # Kolibri admin account -kolibri_admin_user: 'Admin' -kolibri_admin_password: 'changeme' +kolibri_admin_user: Admin +kolibri_admin_password: changeme diff --git a/roles/kolibri/tasks/main.yml b/roles/kolibri/tasks/main.yml index 89ce010d6..14230d9ad 100644 --- a/roles/kolibri/tasks/main.yml +++ b/roles/kolibri/tasks/main.yml @@ -1,4 +1,3 @@ ---- - name: Create a Kolibri system user and to www-data, disk groups user: name: "{{ kolibri_user }}" @@ -10,7 +9,7 @@ system: yes create_home: no -- name: Create Kolibri folder to store data and configuration files. +- name: Create /library/kolibri to store data and configuration files file: path: "{{ item }}" owner: "{{ kolibri_user }}" @@ -20,7 +19,6 @@ with_items: - "{{ kolibri_home }}" - - name: Install kolibri using pip on all OS's pip: name: kolibri @@ -37,12 +35,12 @@ with_items: - { src: 'kolibri.service.j2' , dest: '/etc/systemd/system/kolibri.service', mode: '0644' } -- name: Set kolibri default language. +- name: Set kolibri default language shell: export KOLIBRI_HOME="{{ kolibri_home }}" && "{{ kolibri_exec_path }}" language setdefault "{{ kolibri_language }}" ignore_errors: yes when: kolibri_provision -- name: Create kolibri default facility name, admin account and language. +- name: Create kolibri default facility name, admin account and language shell: > export KOLIBRI_HOME="{{ kolibri_home }}" && "{{ kolibri_exec_path }}" manage provisiondevice --facility "{{ kolibri_facility }}" @@ -51,14 +49,14 @@ ignore_errors: yes when: kolibri_provision -- name: Change /library/kolibri directory permissions. +- name: Change /library/kolibri directory permissions file: path: "{{ kolibri_home }}" owner: "{{ kolibri_user }}" group: "{{ apache_user }}" recurse: yes -- name: Enable kolibri service. +- name: Enable kolibri service service: name: "{{ item.name }}" enabled: yes @@ -67,7 +65,7 @@ - { name: kolibri } when: kolibri_enabled -- name: Disable kolibri service. +- name: Disable kolibri service service: name: "{{ item.name }}" enabled: no diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 18beac3d4..05cc37f58 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -313,6 +313,10 @@ kalite_password: kalite # Unused in 2018 # kalite_server_name: kalite +# Kolibri +kolibri_install: False +kolibri_enabled: False + # Kiwix kiwix_install: True kiwix_enabled: True diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index 50103c6fc..66f5bd196 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -170,6 +170,9 @@ kalite_enabled: True # Unused in 2018; but remains as placeholder for Fedora 18 legacy (XO laptops) kalite_cron_enabled: True +kolibri_install: True +kolibri_enabled: True + kiwix_install: True kiwix_enabled: True diff --git a/vars/local_vars_big_vpn.yml b/vars/local_vars_big_vpn.yml index 7664b19f3..054c428df 100644 --- a/vars/local_vars_big_vpn.yml +++ b/vars/local_vars_big_vpn.yml @@ -170,6 +170,9 @@ kalite_enabled: True # Unused in 2018; but remains as placeholder for Fedora 18 legacy (XO laptops) kalite_cron_enabled: True +kolibri_install: True +kolibri_enabled: True + kiwix_install: True kiwix_enabled: True diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index be4c943cc..f45033497 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -170,6 +170,9 @@ kalite_enabled: True # Unused in 2018; but remains as placeholder for Fedora 18 legacy (XO laptops) kalite_cron_enabled: True +kolibri_install: False +kolibri_enabled: False + kiwix_install: True kiwix_enabled: True diff --git a/vars/local_vars_medium_vpn.yml b/vars/local_vars_medium_vpn.yml index 6718b6ac4..0750d4a2c 100644 --- a/vars/local_vars_medium_vpn.yml +++ b/vars/local_vars_medium_vpn.yml @@ -170,6 +170,9 @@ kalite_enabled: True # Unused in 2018; but remains as placeholder for Fedora 18 legacy (XO laptops) kalite_cron_enabled: True +kolibri_install: False +kolibri_enabled: False + kiwix_install: True kiwix_enabled: True diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index 2029a64e5..6ca4dcb05 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -170,6 +170,9 @@ kalite_enabled: True # Unused in 2018; but remains as placeholder for Fedora 18 legacy (XO laptops) kalite_cron_enabled: True +kolibri_install: False +kolibri_enabled: False + kiwix_install: True kiwix_enabled: True diff --git a/vars/local_vars_min_vpn.yml b/vars/local_vars_min_vpn.yml index 55f57fefb..ec7aeb7bf 100644 --- a/vars/local_vars_min_vpn.yml +++ b/vars/local_vars_min_vpn.yml @@ -170,6 +170,9 @@ kalite_enabled: True # Unused in 2018; but remains as placeholder for Fedora 18 legacy (XO laptops) kalite_cron_enabled: True +kolibri_install: False +kolibri_enabled: False + kiwix_install: True kiwix_enabled: True