KOLIBRI

Download as pdf or txt
Download as pdf or txt
You are on page 1of 91

Kolibri

User Guide

version 0.12.2

April 2019
Kolibri User Guide
Kolibri is an open-source educa onal pla orm specially designed to provide
offline access to a wide range of quality, openly licensed educa onal contents in
low-resource contexts like rural schools, refugee camps, orphanages, and also in
non-formal school programs.

Kolibri can serve high quality educa on content from several publicly available
content channels, collec ons of educa onal resources (exercises, videos, audio or
document files) and associated metadata, prepared and organized for their use in
Kolibri. It works in conjunc on with Kolibri Studio, the curriculum tool used to
organize content and build custom content channels, aligned to the local
curricula, or according to specific learning needs.

Some of the publicly available learning content that you can use with Kolibri.
For Admins and Super admins of Kolibri

Begin by reading how to install and start Kolibri server on the supported
pla orms, and configure other devices in the local network to access its content.
Proceed on how to import content channels, create and manage users and
classes. Configure the se ngs for your facility, and assign or edit permissions for
other users. Learn how to work with Kolibri from the command line,
troubleshoot network issues, and ask for support on our Community Forums.

Happy learning with Kolibri!

Install Kolibri
See the Kolibri changelog here to review specific changes in each version of
Kolibri. Documenta on for previous Kolibri versions are available here.

Tutorials

Step-by-step guides with more details.


An offline Raspberry Pi server
This guide shows you how to configure a Raspberry Pi as a local Wi-Fi hotspot
serving Kolibri.

There are several varie es of opera ng systems for Raspberry Pi. This guide is
intended for and tested on Raspian, the most popular choice of OS, based on
Debian.

Prerequisites

Raspberry Pi Model 3+

Forma ed MicroSD Card > 4GB


(64 GB recommended or
a ached USB storage)

Card reader for a laptop or


computer to write to the
MicroSD card

Latest Raspbian Stretch OS .img


Raspberry Pi 3
file
Raspbian Desktop

Raspbian Lite

Or Installa on of Raspbian via NOOBS

Internet connec vity (for se ng up the device)

An internal MicroSD card is used for the base system, and an external
storage media for contents (for instance a 64 GB USB flash). We recommend
that you have an ethernet cable for online connec vity while installing and
fetching contents for Kolibri.

 Tip

The standard Raspbian OS has a graphical desktop. You can also install
Raspbian Lite which uses fewer resources, but only has a command line
interface. The instruc ons in this documenta on work seamlessly on both.
Getting started guides

This guide provides a step-by-step setup of Kolibri but does not try to explain
basic concepts for your Raspberry Pi. If you are new to the system, you are
encouraged to read the official Ge ng Started guide for basic knowledge about
se ng up your device.

In doubt about which Raspbian to choose? We recommend using Raspbian Lite if


you are comfortable with an environment that only has a terminal and no
graphical user interface. Using the desktop version will consume more CPU,
memory and electricity. Finally, you do have the op on to switch off the desktop
environment once you have finished se ng up the device.

We install Kolibri as one of the very final step. But please read and complete the
prior steps.

Setting up the SD card

The following commands work on Linux/macOS for se ng up the .img files


provided. You will also need to know the device node for the SD Card reader. On
Linux, this is typically /dev/mmcblk0 for the 0th card in your card reader.

# Unpack the .zip into memory and write it to <device node>


unzip -p /path/to/raspbian-stretch-lite.zip | sudo dd of=/dev/mmcblk123 bs=4M
conv=fsync

 Tip

Read the official guides for se ng up your card: Copying .img files

 Tip

Select your MicroSD card based on other people’s experiences and technical
benchmarks. For more informa on, read this Community Forums thread.
Updating the software

A er installing and star ng up your Raspberry Pi, it is recommended that you


upgrade all the so ware on the device:

sudo apt update


sudo apt upgrade
sudo reboot # Ensure that updates are active

Updating the firmware

Run sudo rpi-update to update the firmware. Nothing in this tutorial necessitates
this, but it’s always recommended because hardware issues may be solved over
me and performance improved. You cannot replicate this by copying MicroSD
cards, you would have to repeat this step for every new Raspberry Pi device that
you are installing.

General system configuration

Run sudo raspi-config for the general setup op ons such as keyboard layout,
mezone etc.

 Warning

Always change your password a er se ng up device. The default password


for the user pi is raspberry .
Setting up a hotspot

The Raspberry Pi 3 has an internal Wi-Fi adapter which can serve as an access
point, thus giving other devices the ability to connect to the Raspberry Pi
through Wi-Fi. In this case, we call the Raspberry Pi a hotspot.

We assume that you will need to connect the Raspberry Pi to the internet both
before and a er se ng up the hotspot. The easiest way to achieve this is
through the Raspberry Pi’s ethernet cable connec on. In this way, you don’t
have to disable and enable the Wi-Fi configura on each me.

The device can be setup such that it automa cally uses the ethernet
interface as a gateway to the internet when a cable is connected.
If you need to connect to the internet through Wi-Fi, you will have to disable
the hotspot and connect through the normal network management.

Installing hostapd and dnsmasq


In order to serve clients on a local Wi-Fi hotspot, you need the Raspberry Pi to
act as:

an access point
a DHCP server

a DNS server

The access point is handled by the package hostapd and the DHCP and DNS
server are both available through the dnsmasq package. We will install and
configure both in this sec on. For more detailed informa on, see the online
Raspberry Pi docs.

sudo apt install dnsmasq hostapd

Se ng a sta c IP
Firstly, the server’s Wi-Fi interface wlan0 needs to have a predictable IP address
and not try to obtain it from another server. We call this a sta c IP.
It is defined in the configura on file /etc/dhcpcd.conf , which you can edit
through the below command.

sudo nano /etc/dhcpcd.conf

Use the arrow keys to navigate to the end of the file, then copy and paste the
following text and press CTRL + X to save and exit.

interface wlan0
static ip_address=192.168.4.1/24
nohook resolv.conf, wpa_supplicant

Then, make your current local DNS available

A er installing the new hostapd and dnsmasq packages and se ng a sta c IP,
you should reboot the system.

sudo reboot

A er reboo ng, you can ensure that your system is running with the sta c IP
address by running the command ipconfig and reviewing that wlan0 has the
new IP address printed. It should contain this output (no ce the IP address):

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500


inet 192.168.4.1 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80::e02e:4991:29ac:f076 prefixlen 64 scopeid 0x20<link>

Configure DHCP and DNS


We create a new configura on file for dnsmasq in the appropriate loca on and
start edi ng it:

sudo nano /etc/dnsmasq.d/hotspot.conf


Copy and paste the following text, then press CTRL + X to save and exit.

# Gateway + DNS server


dhcp-option=3,192.168.4.1
dhcp-option=6,192.168.4.1

# Let the Raspberry Pi resolve to all DNS queries


address=/#/192.168.4.1

 Warning

These se ngs override the possibility to connect to an online source using


the Wi-Fi. It is s ll possible to connect to the internet through the cabled
ethernet, however you will need to configure a DNS server manually every
me you reboot the device. Put the IP of your DNS provider in
/etc/resolve.conf . If you don’t know it, you can use Google’s OpenDNS
address 8.8.8.8 as in this example:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

Configure the access point


You will need to write a configura on file with informa on about your local Wi-
Fi network.

sudo nano /etc/default/hostapd

In the file, copy in the following configura on to specify the name of the
network, its Wi-Fi channel (frequency) and bandwidth mode (we recommend 2.4
GHz ‘g’ mode). Set hw_mode=a to use 5 GHz. Press CTRL + X to save and exit.
interface=wlan0
driver=nl80211
ssid=Offline Library
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0

# Remove the '#' in front of below lines to set a password 'Password'


# wpa=2
# wpa_passphrase=Password
# wpa_key_mgmt=WPA-PSK
# wpa_pairwise=TKIP
# rsn_pairwise=CCMP

Next, edit /etc/default/hostapd to enable the configura on file that we have just
wri en:

sudo nano /etc/default/hostapd

At the bo om of the file, add the following text and press CTRL + X to exit
and save.

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Finally, start the access point system service hostapd and the DHCP and DNS
server dnsmasq :

sudo systemctl start hostapd


sudo systemctl start dnsmasq
Setting up a “Captive portal”

You don’t have to set up a “Cap ve Portal”, but it’s a good idea, since the behavior
will make the user experience be er. Users won’t have to guess the loca on
(hostname / domain) of services on the Raspberry Pi, and many devices support
displaying your welcome page automa cally upon connec ng to the Wi-Fi.

This type of dialogue will appear on many devices when they detect a successful Wi-Fi
connection without an internet connection.

In the previous step, we have configured the Raspberry Pi to tell devices on the
local offline hotspot that whatever resource they request such as
http://domain.com , it should resolve to the Raspberry Pi’s sta c IP address
192.168.4.1 .

Firstly, install the HTTP server nginx:

sudo apt install nginx

Then, you need to edit and adapt your default Cap ve Portal page. You can use
 this template.

Copy the contents of the template by edi ng /var/www/html/index.html :


sudo nano /var/www/html/index.html

You can use CTRL + SHIFT + V to paste text in the terminal. Press CTRL +
X to exit and save.

Installing Kolibri

Firstly, follow the main instruc ons for installing Kolibri on Raspberry Pi.

A er comple ng the installa on, you can make kolibri available on port :80 in
addi on to :8080 . This will make it possible to type kolibri.library in the
browser loca on bar, and because of our cap ve portal, it will display.

To enable you Nginx web server to serve Kolibri, edit


/etc/nginx/sites-available/kolibri and add a so-called virtual host:

sudo nano /etc/nginx/sites-available/kolibri

Copy and paste the following into the configura on file:

server {
listen 80;
listen [::]:80;

server_name kolibri kolibri.library;

location / {
proxy_pass http://127.0.0.1:8080;
}
}

Press CTRL + X to exit and save. Then enable the new configura on by linking
it into the directory of enabled virtual hosts:

ln -s /etc/nginx/sites-available/kolibri /etc/nginx/sites-enabled/
Attaching USB storage

Many people have a 4 GB or 16 GB MicroSD card that came along with the
Raspberry Pi. In order to have more content, such as the full Khan Academy, you
may want to a ach a USB storage media – a flash device or a hard drive.

 Tip

Moving content: If you have a USB source for addi onal storage, you can use
the kolibri manage movedirectory command or create your own symbolic links
to have the data folder located elsewhere.

Using the built-in management command:

# Stop kolibri
sudo systemctl kolibri stop
# Move the data
kolibri manage movedirectory /path/to/your/external_drive
# Start kolibri
sudo systemctl kolibri start

Or using symbolic links, you need to start and stop Kolibri and to set the
permissions correctly:

# Stop kolibri
sudo systemctl kolibri stop
# Relocate the full Kolibri data and configuration user folder
sudo mv /home/pi/.kolibri /your/external/media/kolibri_data
# Ensure that the kolibri system service user owns the folder
sudo chown -R pi /your/external/media/kolibri_data
# Restore the original location with a symbolic link
sudo ln -s /your/external/media/kolibri_data /home/pi/.kolibri
# Start kolibri
sudo systemctl kolibri start
Other tips

Locale warnings
You may encounter warnings like
Can't set locale; make sure $LC_* and $LANG are correct! while installing so ware
about the system locale. Typically, these are missing UTF-8 locales for your
chosen system locale. These can be fixed by running this from command line:

# Run this and select the appropriate missing UTF-8 locales


sudo dpkg-reconfigure locales

Disabling the graphical desktop


Once the Pi device is deployed, the desktop environment may no longer serve a
purpose. It can safely be disabled. This saves computer resources and electricity.
Use the following steps to disable or enable the desktop:

# Run the configuration and navigate to the Boot option, selecting "Console"
sudo raspi-config

Saving your image for replication

Once you like the setup and you may want to deploy several Raspberry Pis to
different schools, classrooms etc.

 Tip

Using the same Wi-Fi SSID (in this tutorial, we called it Offline Library ) is
recommended if you are se ng up several Raspberry Pis in the same area.
But you should configure them on different Wi-Fi channels. Separate them
by a count of 2, this will avoid radio frequency overlaps.
 Warning

Replica ng the Kolibri device registra on will make online synchroniza on


unpredictable (fail).

Kolibri has a sync’ing mechanism whereby user data can synchronize from device
to device through an online service. This happens automa cally when Kolibri
detects an internet connec on. You need to unregister (deprovision) your device
before copying the SD card and external storage:

kolibri manage deprovision

A er replica ng your SD card and external storage device, you need re-register
the Kolibri installa on on each device. This can be done without removing the
installed data:

# This will ask you questions


kolibri manage provisiondevice

Future steps

Kolibri is under development with regards to op mizing performance on


Raspberry Pi. We are adding support for mul ple CPU cores, and since the
Raspberry Pi has 4 of these, it will benefit greatly. Tests indicate almost a factor
4.

This work will be released in a future package targe ng a pre-configured UWSGI


and Nginx implementa on, which will be possible to add by replacing the
package of this tutorial with the new package. We will add a release note and
update this tutorial accordingly.

You may also want to install other services such as Kiwix. If you have followed
this tutorial, you can install Kiwix alongside Kolibri by downloading the
kiwix-serve package and adding an Nginx configura on similar to the one we
added for Kolibri.

The Wi-Fi antenna and chip in the Raspberry Pi do not have capacity for many
clients. Thus, you may also want to connect a stronger Access Point. If you
intend to do this, you should modify the DHCP server (dnsmasq) to listen to the
eth0 device instead of wlan0 , switching off the Wi-Fi by removing hostapd .

There are several bo le necks in this setup, but we recommend that you focus
on the strong sides of the Raspberry Pi pla orm: It’s low-cost and uses li le
electricity. Perhaps you can connect it to solar power? Perhaps you can
implement a good system for distribu ng so ware updates and replacement
parts?

 Tip

Using a Raspberry Pi is subject to many ps and tricks not described here -


please share your performance experiences in the Community Forums.

Hardware requirements

To install Kolibri on a device that will act as a server, check the hardware
requirements first, and then follow the procedure for the opera ng system on
your device.

 Tip

Below you will find general recommenda ons regarding hardware


requirements to run Kolibri. To read more detailed informa on and find out
examples of hardware setups that have been implemented by our users,
download the full Kolibri Hardware Guide and examples of Hardware
Configura ons for Kolibri (PDF documents).

Servers

Minimum hardware requirements to run Kolibri as a server:


500 MB RAM (1 GB recommended)

500 MHz CPU (1 GHz recommended)

Hard drive space depends on the size of the content channels you intend to
import from Kolibri Studio or a local storage device.

If you have a facility with less than 30 computers, a device as simple as a


Raspberry Pi is known to work fine as a server.

Clients

Very old desktops and very low-power computers can be used as client devices
to access Kolibri. For instance, some implementa ons are known to use first-gen
Raspberry Pi as desktop computers.

It is always a good idea to do a prac cal test, but when you want to implement
Kolibri, usually it’s not necessary to scale your hardware. The main requirement
is that your system needs a video card and driver that can play the videos.

Windows

Compatibility

Supported: Windows 7, 8.1 and 10, with IE 11+, Chrome or Firefox

Not supported: Windows XP cannot be used to install Kolibri server, but


could poten ally work as a client device if the browsers are as up-to-date as
possible.
Install

1. Download the Windows installer for Kolibri version 0.12.


2. Double-click the downloaded .exe file.
3. Select the language for the installa on.
4. Python 3 installer is included, confirm the installa on or the upgrade to
proceed.
5. Follow the rest of the instruc ons in the Kolibri installa on setup wizard.
6. Once the installa on finishes, Kolibri will auto-start and open in the default
browser on your computer at h p://127.0.0.1:8080. This may take a
moment, so please be pa ent.
7. Proceed with the Ini al Setup of your facility.

 Warning

Windows firewall will prompt you to allow the Python process needed to run
Kolibri. Click Allow access to accept and proceed.

Allow the Python process needed to run Kolibri.


Uninstall

1. Open the Windows Control Panel.


2. Select Programs and Features op on.
3. Select Kolibri from the list of programs.
4. Click the bu on Uninstall/Change and follow the instruc ons.

Upgrade

To upgrade Kolibri, follow these steps.

1. Download the new version of Kolibri Windows installer.


2. Double-click the downloaded .exe file.
3. Follow the instruc ons in the installa on wizard window.
4. Once the installa on of the upgrade is finished, Kolibri will auto-start and
open in the default browser on your computer.
5. Go explore the new and improved Kolibri features!

Debian/Ubuntu

Compatibility

Debian/Ubuntu 16.04 and up - anything that’s not end-of-life

Install from PPA repository

Use the following commands in Terminal to add the PPA and install Kolibri:

sudo apt-get install software-properties-common python-software-properties


sudo add-apt-repository ppa:learningequality/kolibri
sudo apt-get update
sudo apt-get install kolibri
Install from a .deb file

The advantages of downloading a .deb file is the portability: you can copy the
file from device to device and install Kolibri without internet access.

1. Download the latest .deb installer for Kolibri version 0.12, or have it copied
to your local drive.
2. Run this command from the loca on where you downloaded the DEB file:

sudo dpkg -i kolibri-installer-filename.deb

3. Wait for the installa on to finish and run this command to start Kolibri:

kolibri start

 Note

If you choose to install Kolibri as a system service, you will not need to
start it manually.

4. When the command finishes, open the default browser at


h p://127.0.0.1:8080 and proceed with the Ini al Setup of your facility.

Uninstall

Open So ware on Ubuntu and locate the Kolibri. Press Remove.

Or from the command line: sudo apt-get remove kolibri .


Upgrade

When you use the PPA installa on method, upgrades to newer versions will be
automa c, provided there is internet access available.

To upgrade Kolibri on a Debian device without internet access, bring the


updated .deb file and follow the same steps as in Install from a .deb file.

Changing the owner of Kolibri system service

The system service is the script that runs Kolibri in the background when your
system boots on Debian-based distribu ons.

You may need to change the system service to run with the permissions of a
different user account. Prior to v0.10, kolibri user account was the owner of
the system service, while from v0.10 and later, desktop user’s account is
preferred, in order for Kolibri to access the local USB storage.

To change the system service owner, you need to change the configura on of
the system service: move the .kolibri data folder (containing channels,
databases etc.), and assign owner permissions to the new user. Follow these
steps.

# Stop Kolibri
sudo systemctl stop kolibri
# Move data to your desktop user:
sudo mv /var/kolibri/.kolibri /home/$USER/.kolibri
# Change ownership
sudo chown -R $USER /home/$USER/.kolibri
# Change the username configuration
sudo sh -c 'sudo echo -n $USER > /etc/kolibri/username'
# Start Kolibri again
sudo systemctl start kolibri

 Note

Replace the $USER in commands above with the name of the user you wish
to be the new Kolibri system service owner.
Raspberry Pi

There are several varie es of opera ng systems for Raspberry Pi. This guide is
intended for and tested on Raspian, the most popular choice of OS, based on
Debian. To obtain and install Raspbian, refer to the official documenta on.

Kolibri is intended for Raspberry Pi Model 3 and upwards.

 Tip

Read our Raspberry Pi Tutorial for Kolibri.

 Warning

These steps require an internet connec on during the installa on. A er


comple ng the installa on, it’s possible to replicate an image for offline
installa on.
Install

1. We need to upgrade the python3-cffi library, which is outdated on Raspbian.


Upgrade it like this:

sudo apt install libffi-dev python3-pip python3-pkg-resources dirmngr


sudo pip3 install pip setuptools --upgrade
sudo pip3 install cffi --upgrade

2. Add our Ubuntu PPA with these special instruc ons:

sudo su -c 'echo "deb http://ppa.launchpad.net/learningequality/kolibri/ubuntu


xenial main" > /etc/apt/sources.list.d/learningequality-ubuntu-kolibri-
xenial.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys
DC5BAA93F9E4AE4F0411F97C74F88ADB3194DD81
sudo apt update
sudo apt install kolibri

When asked ques ons during the installa on, it is recommended that you
use the default pi user for running Kolibri because it will have access to
USB devices.
3. When the command finishes, open the default browser at
h p://127.0.0.1:8080 and proceed with the Ini al Setup of your facility.
 Note

The following issues are quite common on a Raspberry Pi:

System me isn’t set properly or resets during power-off. This causes


errors while downloading so ware. For instance, SSL cer ficates for
online sources will fail to validate. Ensure that you have the right
mezone in /etc/timezone and that the clock is set properly by running
sudo ntpd -gq .

Storage space is o en scarce. If you have a USB source for addi onal
storage, you can use the kolibri manage movedirectory command or create
your own symbolic links to have the data folder located elsewhere.

Using the built-in management command:

# Stop kolibri
sudo systemctl kolibri stop
# Move the data
kolibri manage movedirectory /path/to/your/external_drive
# Start kolibri
sudo systemctl kolibri start

I/O opera ons are slow: This means that a typical bo leneck on a
Raspberry Pi is file transfer to/from MicroSD card or USB a ached
storage. Once Kolibri is up and running, this will not be a bo leneck, but
while copying ini al contents of several gigabytes, you will experience
this. Both the SD card reader and the USB ports will limit you at 50-
80MB/sec. From our experience, it doesn’t ma er much whether you are
using the main SD card reader for storage or some media connected to
your USB, as in principle they both reach about the same maximum
speeds. However, you may find significant differences in the speeds of
individual SD Cards.

When replica ng installa ons, you can save me if you connect the SD
card of USB storage to another device with faster transfer speeds.
Replica on will be described in future guides.
Uninstall

From the command line: sudo apt-get remove kolibri .

Upgrade

When you use the PPA installa on method, upgrades to newer versions will be
automa c, provided there is internet access available.

Other Linux & MacOS

Compatibility

MacOS: 10.6+, all browsers supported

Linux: Any system with Python 2.7, all browsers supported

Install

To install Kolibri on Linux distribu ons other than Debian, as well as on MacOS,
you can use generic installa on with pip install command, or follow these
steps to run Kolibri with the PEX package.

1. Download the PEX installer for Kolibri version 0.12.


2. Make sure to open the Terminal where you downloaded the PEX file. For
example, if you saved it in the Downloads folder, type this when you open the
Terminal, and press Enter:

cd Downloads

3. Type the following commands next (press Enter a er each one).


chmod +x kolibri-installer-filename.pex
./kolibri-installer-filename.pex start

 Note

Make sure to subs tute the kolibri-installer-filename.pex with the


exact name of the file you downloaded in both commands. For example,
if the name of the downloaded file is kolibri-v0.12.0.pex , type that
instead of kolibri-installer-filename.pex .

4. When the command finishes, open the default browser at


h p://127.0.0.1:8080 and proceed with the Ini al Setup of your facility.

 Warning

Remember that PEX package allows you to run Kolibri on your system only
while the process is ac ve in the Terminal window. If that process is stopped
(by either pressing Ctrl + C , closing the Terminal, or restar ng your
system), you will need to repeat the above steps to start Kolibri again. User
accounts, classes and groups you create, as well as the content channels you
download, will be available every me you restart Kolibri.

Uninstall

1. Delete the PEX file.


2. Delete the ./kolibri folder in your user’s Home directory if you want to
completely remove all the Kolibri files and content channels you imported.

Upgrade

To upgrade Kolibri, follow these steps.

1. Download the new version of Kolibri PEX installer.


2. Start Kolibri as during the first install.
3. Go explore the new and improved Kolibri features!
Python pip package

You can install Kolibri as a standard package from PyPi (works on Mac, Windows,
and Linux) using this command:

pip install kolibri

Initial Setup

To do the ini al setup of your Kolibri facility a er the installa on, follow these
steps.

 Note

You need to do the ini al setup only once, the first me you start Kolibri
a er the installa on. You can change all the se ngs later, except the type and
the name of the facility.

1. Select the default language for Kolibri.


Select the default Kolibri language.

 Warning

The default language configured for content in your browser preferences


might override the language you choose in this step. To ensure that
Kolibri displays in the desired language, make sure to configure it as
default in the browsers of all the devices that will be used to view Kolibri
content.

2. Facility name and type. A “Facility” is the loca on where you are installing
Kolibri, such as a school, training center, or even your home.

Non-formal type can be used in libraries, orphanages, correc onal facili es,
youth centers, computer labs and similar, Formal one in schools and other
formal learning contexts, and Personal should work best for parent-child or
supplementary individual learning.

Formal and non-formal facili es require a name, while personal ones do not.
Choose the type of facility.

3. Guest access.

Select if guests can access Kolibri content without the need to create an account.

4. User account crea on.


Select if anyone can create a user account for themselves, or if user accounts must be
created by Kolibri admins.

5. Enable passwords for learners. Simplified sign-in, without the password


requirement, allows easier access for younger learners.

Select if learners must type in their passwords to sign-in to Kolibri.

6. Create super admin account. This admin user will be a super admin, able to
manage all the device content, and all the rest of the facility users and their
permissions.
Select the username and password for the facility super admin.

 Tip

Make sure to save these super admin creden als in a safe place!

7. Data usage and privacy - responsibili es of the adminstrator. When you are
se ng up a Kolibri facility, especially in formal contexts, you need to take
into considera on the relevant privacy laws and regula ons. You as the super
admin, or someone you delegate, will be responsible for protec ng and
managing the user accounts and personal informa on stored on the device.
Review the data usage and privacy statement before finihsing the facility
setup.
Review the super admin responsibilities regarding the data usage and privacy.

Once you finish the ini al setup, proceed to import some content, and create
users (if you chose the Admin-managed facility setup). Make sure to check how
to configure other computers in the network to access Kolibri.

Access Kolibri

Starting Kolibri on Windows

To start the Kolibri server on Windows, just double-click the desktop shortcut.
You will see the no fica on message Kolibri is star ng, please wait….

When you see the no fica on Kolibri is running…, Kolibri will open in the
browser with the URL h p://127.0.0.1:8080.

Kolibri Taskbar Options

While it is running, Kolibri will display an icon in the Windows taskbar (usually at
bo om right, near the clock), that allows you to stop it and configure other
se ngs.
Kolibri taskbar options.

Use the Load in browser op on to open Kolibri in the browser.

By default Kolibri will start running every me you start the computer where
it is installed. Uncheck the Run Kolibri at system startup op on if you prefer
to start it manually from the desktop shortcut.
When installed, Kolibri will open in the browser every me it is started.
Uncheck the op on Open browser when Kolibri starts if you prefer to have
it running in the background, and to open it manually in the browser by
typing the URL h p://127.0.0.1:8080 in the address bar.
Select Exit to stop Kolibri. You will be prompted to confirm the selec on,
a er which Kolibri will stop. You will have to close the browser (or the tab)
manually.

 Note

Remember to configure other computers in the network to access Kolibri


content.

Starting Kolibri on Linux or MacOS

Star ng Kolibri on Linux and MacOS will differ depending on the method you
used to install it.

If you used the PEX package, Kolibri will be accessible as long as the process
is running in the Terminal. If you stop the process, close the Terminal window,
or restart your system, you will need to run the PEX again to restart Kolibri.
If you installed Kolibri as a system service with the DEB installer, it will run
automa cally on each system restart, and you do not need to start it
manually. Proceed to step 2 below.

If you installed Kolibri through the PPA, or generic installa on with


pip install command, follow these steps.

1. Run this command in Terminal to start Kolibri:

kolibri start

 Warning

On macOS you may need to prefix the command with python , and type
python -m kolibri start instead.

2. Open the default browser at http://127.0.0.1:8080 , and it will display the


Kolibri start page.

 Note

Remember to configure other computers in the network to access Kolibri


content.

3. Run this command in Terminal to stop Kolibri:

kolibri stop

Accessing Kolibri from Other Devices in the Network

A er you have installed and started Kolibri on the computer that will act as a
server, you need to configure other devices in the the same Local Area Network
(LAN), such as other computers, tablets or phones, so they can access the the
learning content on the server.
Compatibility

Kolibri currently supports the following combina ons of opera ng systems and
browsers for client devices:

Windows 7, 8.1 and 10: IE 11+, Chrome and Firefox


MacOS 10.6+: Safari, Chrome and Firefox
Linux: any browser
Android 4.2+: Chrome and Firefox
iOS 10+: Safari, Chrome and Firefox

 Warning

Videos are MP4 encoded. While most browsers do not require addi onal
plugins or codecs, open source pla orms will o en require you to install MP4
codecs separately: For instance on Ubuntu, install the restricted extras
package.

Set up Access on Other Devices

To access content from other devices in the same network, you need to know
the IP address of the computer where Kolibri is running.

For example, if Kolibri is installed and started on a computer with the IP address
192.168.0.104, you can access it from an Android tablet connected to the same
network by opening the browser on the tablet and typing the address
http://192.168.0.104:8080 .
 Tip

You can check the IP (Server URL) of the device where Kolibri is running
by going to Info tab in the Device dashboard.

Find the IP/Server URL in the Device > Info tab.

You can also use the ipconfig command on Windows or ifconfig

command on Linux/OSX to find the externally visible IP address of the


device running the Kolibri.

 Note

In case of network problems, see troubleshoo ng ps.


Examples and comparison of Hardware Configura ons for Kolibri (PDF
document).
Change Language

To change language in which the Kolibri user interface is displayed, follow these
steps:

1. Open your user menu in the upper right corner.


2. Select the Change language op on.
3. Choose the desired language.
4. Click CONFIRM and Kolibri will be displayed in the selected language!

 Warning

The default language configured in your browser preferences might override


the language configured in Kolibri. To ensure that Kolibri displays in the
desired language, make sure to configure it as default in the browsers of all
the devices that will be used to view Kolibri content.

Manage Kolibri

Default User Roles

Kolibri users by default can be divided in 3 different roles with respec ve access
to features.
Default user roles

Learners can:

View content and have their progress tracked

Coaches can:

View content and have their progress tracked

View Coach dashboard and track progress of other users and usage stats for
individual exercises

Create/Edit/Delete Groups in Classes and add users to them

Create/Edit/Delete Exams and assign them to users

Create/Edit/Delete Lessons and assign them to users

Facility coaches have access to all classes, class coaches only to ones they
are assigned to

Admins can:

View content and have their progress tracked

View Coach dashboard and track progress of other users and usage stats for
individual exercises

Create/Edit/Delete other admins, coaches, and learners

Create/Edit/Delete Classes and enroll users in them

Create/Edit/Delete Groups in Classes and add users to them

Create/Edit/Delete Exams and assign them to users

Create/Edit/Delete Lessons and assign them to users

View/Edit Facility configura on se ngs

Export Detail and Summary logs usage data

Kolibri Super Admins

Kolibri super admin users have all device permissions, and are able to assign
them to other users. Therefore super admin users can:
View content and have their progress tracked

View Coach dashboard and track progress of other users and usage stats for
individual exercises

Create/Edit/Delete other admins, coaches, and learners

Create/Edit/Delete Classes and enroll users in them

Create/Edit/Delete Groups in Classes and add users to them

Create/Edit/Delete Exams and assign them to users

Create/Edit/Delete Lessons and assign them to users

View/Edit Facility configura on se ngs

Export Detail and Summary logs usage data

Import/Export Content channels

View/Edit Permissions of other users

 Tip

If you are unable to retrieve the username and password for a super admin
account in your facility, you can create a new super admin account using the
command line.

Assign Additional Permissions

By default, only super admin users can view the Device dashboard,
import/export Content channels in Kolibri, and modify Permissions for other
users. However, depending on the needs of the ins tu on, super admin users
can also grant these permissions to other users.

Manage Device

You can manage content and permissions, and view the detailed info of the
device where Kolibri is running from the Device dashboard.
 Note

To manage device se ngs you must have the appropriate permissions.

Assign Permissions

You can assign addi onal permissions to Kolibri users which will provide them
access to more features compared to their user roles. To manage permissions for
Kolibri users, use the Permission tab in the Device dashboard ( icon).

Permission to Manage Content

To grant permission to another user to manage content channels in Kolibri, that


is to import, export and delete them from the device, follow these steps.

1. Click EDIT PERMISSIONS for the chosen user.


2. Under Device permissions ac vate the op on Can import and export content
channels.
3. Click SAVE CHANGES to apply and finish.
The users who have been granted the permissions to manage content channels
will have a black key indicator in front of their name, and will be able to see the
Device dashboard with the Channels tab.

Super Admin Permissions

To grant super admin permissions to another user, follow these steps.

1. Click EDIT PERMISSIONS for the chosen user.


2. Ac vate the op on Make super admin.
3. Click SAVE CHANGES to apply and finish.
The users who have been granted the super admin permissions will have a
yellow key indicator in front of their name, and will be able to see the Device
dashboard with both the Content and Permissions tabs.

View Device Info

To view the detailed info of the device where Kolibri is running on, use the Info
tab in the Device dashboard ( icon). This informa on will be useful in case
you need to report an issue with Kolibri on the Learning Equality Community
Forums.

1. Click the Show link to open the Advanced device info.


2. Make note or copy the following device details to clipboard.
Server IP/URL(s)

Kolibri version

Opera ng system

Installer type

Database path

Device name

Free disk space

Server me

Server mezone

Find out the extended device info in the Device > Info tab.
Manage Content

 Note

To manage Kolibri content channels you must have the appropriate


permissions.

Kolibri Content Channel is a collec on of educa onal resources (video, audio,


document files or interac ve apps) prepared and organized by the content
curator for their use in Kolibri. You can import and export content channels in
Kolibri from the Channels tab of the Device dashboard ( icon).

Kolibri content channels in the Device > Channels tab.

Each Kolibri content channel has its own token/ID in Kolibri Studio. You can
freely view and browse content to import from the public channels in Kolibri, but
in order to import content from private or unlisted channels, you will need the
channel token or ID from the content curator who assembled it.
 Note

The term Channel ID was valid for Kolibri versions up to 0.6, while from the
Kolibri version 0.7 onward, we started using exclusively the term token to
uniquely designate each channel.

 Warning

When you use the Terminal or command prompt to import content channels
in Kolibri from the command line, you s ll must use the 32 digit channel ID,
as the command will not work with the token. Make sure to receive the
correct channel ID from the person who curated the channel you need to
import, or refer to Kolibri Studio user guide how to find it in Studio user
interface, if you have channel editor access.

Import Content into Kolibri

 Warning

Important: You cannot import your own files (videos, documents, etc.) as
learning resources directly into Kolibri from your computer. Kolibri can only
import content from:

already curated content channels on Kolibri Studio, if the computer


running Kolibri is connected to internet

OR

an external storage drive (USB or hard drive) where content channels


have been previously exported to from another Kolibri installa on, if the
computer running Kolibri is not connected to internet

To import your own files for use in Kolibri, you need to register at Kolibri
Studio site (it’s free), and build your own content channel that you can
subsequently import into Kolibri. Read more about how to do this in our
Kolibri Studio user guide.
 Warning

Kolibri database and content may become temporarily unavailable while


impor ng or upda ng large content channels. Therefore, as a precau on, we
recommend you:

avoid other interac ons with Kolibri (view learner pages or manage users,
for example) while content import is in progress
perform these maintenance opera ons outside the periods when system
is being used by learners

To import content into Kolibri, follow these steps.

1. Click IMPORT in the Channels tab on the Device page.


2. Choose the source op on: Kolibri Studio, Local network or internet, or
A ached drive or memory card.

Select a source to import Kolibri content channels.


Import Content from Kolibri Studio

If the computer where Kolibri is running has an Internet connec on with the
sufficient bandwidth, follow these steps to import content channels.

1. Choose op on Kolibri Studio, click CONTINUE and you will be able to see all
the available public content channels.

Select which public channel on Kolibri Studio you want to import content from.

Channels from which you have already imported some or all content onto
your device will have the icon.

2. Click SELECT for the desired channel, and wait for Kolibri to load the
channel informa on and the topic tree.

 Warning

This could take some me for big channels. Please be pa ent, as Kolibri
needs to retrieve a lot of informa on to display.
3. In the Select content from… page you will see all the details for the selected
channel: descrip on, version, total size and number of learning resources,
with the informa on weather you have some of the resources from that
channel already imported on the local device.

4. Under Choose content to import click the topics links to browse through the
channel contents. Use the Select all checkbox to import the content channel
in full, or select only certain topics or resources. As you keep selec ng, you
will see the total number and size on disk under Content selected:, and the
remaining space on your device.
5. Click IMPORT once you finish selec ng all the desired content.
6. Wait for the content to be downloaded and click CLOSE for the new channel
to appear under the Channel heading.
7. If you need to import content from a private/unlisted channel, click on Try
adding the token link above the channel list.
8. Enter the channel token/ID received from the channel curator on Kolibri
Studio.

9. Click CONFIRM to unlock channel, or CANCEL to exit.


10. Proceed to select and import channel topics and resources as for the public
channels.

Unlisted or private channels in the list are indicated with the  icon.

11. To add more learning resources from a channel that you previously imported
content from, click OPTIONS , select Import more, and repeat the selec on
procedure from step 3.

Import Content from a Local Network or Internet

You can also import content from a different device running Kolibri in your same
local network, or even from a Kolibri server hosted outside your LAN, provided
you know its exact IP address. This feature is useful for when you have:
a larger country- or region level Kolibri content server outside your LAN, but
with resources specific to your implementa on requirements
various instances of Kolibri servers in your local network, in order to support
a high number of client (learner) devices

Follow these steps to import content channels.

1. Choose op on Local network or internet, and click CONTINUE .


2. Click New address link to add a new network address.
3. Input the full network address, and assign a name for this network. Don’t
forget to add the correct port if different from the default one 8080 . You can
use either the IP address or the domain name.

1. Click ADD to save this address to your device se ngs. If you later decide to
delete it, use the link Forget.
2. Click CONTUNUE and follow the same steps for selec ng topics and resources
as for the import from Kolibri Studio.

 Warning

This feature was introduced in Kolibri version 0.11, and all the server devices
to be used for this type of content import must have the Kolibri version 0.11
or later running.
Import Content from a Local Drive

If the computer where Kolibri server is running does not have access to Internet
or has insufficient bandwidth, you have the op on to receive content channels
stored on an external drive (USB s ck or hard disk). Follow these steps to import
content channels.

1. Connect the external USB drive to your computer.


2. Choose op on for A ached drive or memory card, and click CONTINUE .
3. Kolibri will automa cally detect and display the drive(s) with available Kolibri
content files.
4. Select the drive where the desired channel is stored, and click CONTINUE .
5. Click SELECT for the desired channel, and follow the same steps for
selec ng topics and resources as for the import from Kolibri Studio.

Workaround for import from external drive on older devices


If Kolibri is installed on an older or a low-resource device, you can try the
following procedure for impor ng content channels for faster results.
1. Stop Kolibri.
2. Browse the local drive with the file explorer of your opera ng system.
3. Copy the content folder located inside the KOLIBRI_DATA folder on the local
drive.
4. Paste the copied content folder inside the .kolibri folder on your hard disk.
The loca on of the .kolibri folder will depend on your opera ng system
(see the table below).
5. Confirm the merge of the two folders.
6. Restart Kolibri, and the new channels should now be available.

Beware that the restart might take longer a er these steps, as Kolibri needs to
map all the new content in the database.

Opera ng system Loca on

Windows C:/Users/<your_username>/.kolibri/

OSX HD/Users/<your_username>/.kolibri/

Linux /home/<your_username>/.kolibri/

On Linux and OSX you will need to enable the Show hidden folders op on in
order to view the .kolibri folder.

Export from Kolibri to Local Drive

If you have imported content on one Kolibri device, and want to make it
available on another computer where Kolibri is installed, follow these steps to
export your content channels.

 Note

You must have an external drive (SD card, USB s ck or hard disk) a ached to
your device.

1. Click EXPORT in the Channels tab on the Device page.


2. Select the local drive (des na on for the export) where you wish to export
Kolibri content, and click CONTINUE .
3. In the Export to <name-of-your-drive> page you will be able to see all the
available content channels on your device.

4. Click SELECT for the desired channel, and wait for Kolibri to display the
channel informa on and the topic tree.
5. In the Select content from… page you will see all the details of the selected
channel: descrip on, version, total size and number of learning resources.
6. Under Choose content to export you can browse the channel topics and
individual resources. Use the Select all checkbox to import the content
channel in full, or select only certain topics or resources. As you keep
selec ng, you will see the total number and size on disk under Resources
selected:, and the remaining space on the des na on drive.
7. Click EXPORT once you finish selec ng all the desired content.
8. Wait for Kolibri to export the selected content and click CLOSE .
9. Once the export is finished, safely disconnect the drive according to the
recommended procedure for your opera ng system, and proceed to import
channels on other devices.
 Note

This procedure makes a copy of the content folder located inside the
.kolibri folder on your hard disk, and places it in the KOLIBRI_DATA

folder on the selected local drive. This structure is recognized by the


Import from local drive command.

Delete Channel

To delete a content channel from your device, follow these steps.

1. Click OPTIONS for the channel you want to delete.


2. Select Delete op on.

3. Click DELETE to proceed, or CANCEL to exit without dele ng the channel.


Manage Facility

You can edit facility configura on se ngs in Kolibri from the Se ngs tab in your
Facility dashboard ( icon).

1. Ac vate the op ons you want to make available for the users of your facility.
You have the possibility to allow users to:

edit their full names and usernames


sign in without password (except Admin users)
download content items (videos, documents, etc.) on their own devices
browse content without signing in
create accounts on your facility

2. Click SAVE CHANGES to apply and finish.

Manage facility configuration settings.


 Note

To manage facility se ngs in Kolibri you must sign in as admin or super


admin.

Manage Users

You can search for, filter, add, and edit user accounts in Kolibri from the Users
tab in your Facility dashboard ( icon).

 Note

To manage Kolibri users you must sign in as admin or super admin.

Create a New User Account

To create a new user account, follow these steps.

1. Click NEW USER bu on.


2. Fill in the required informa on (name, username, password).
3. Select the user type (Admin, Coach or Learner).
4. Click SAVE to add the new user.

Coach Type

When you create a new Coach user account, or change the type (role) to Coach
for an exis ng user, you can choose between:

Class coach, that will have access to the coach dashboard and permissions to
instruct ONLY the learners in the classes they are assigned to.
Facility coach, that will have access to the coach dashboard and permissions
to instruct ALL the classes and the learners in the facility.
Select Users by Type

1. Click to open the selector under User type to see filtering op ons. All users
are displayed by default.
2. Toggle between op ons (learners, coaches, admins) to display the users
according to type.

Edit User’s Account

To edit username, full name or account type, follow these steps.

1. Click on the OPTIONS bu on for the desired user and select the Edit details
op on.
2. Edit Full name, Username or User type in the Edit user details window.
3. Click SAVE to update the edited informa on, or CANCEL to exit without
saving.

Reset User’s Password

1. Click on the OPTIONS for the desired user and select the Reset password
op on.
2. Enter the new password in both fields in the Reset user password window.
3. Click SAVE to confirm, or CANCEL to exit without changing the password.
Delete User’s Account

1. Click on the OPTIONS for the desired user and select the Delete op on.
2. Click DELETE to confirm, or CANCEL to exit without dele ng the account.

 Warning

When you delete a user, all their learning records will be erased from the
database.
Manage Classes

You can view, create and delete classes, as well as search, filter and enroll Kolibri
users in them, using the Classes tab in your Facility dashboard ( icon). Default
view displays the list of all classes in your facility, with the number of enrolled
users for each class.

 Note

To manage Kolibri classes you must sign in as admin or super admin.

Add New Class

To add a new class, follow these steps.

1. Click NEW CLASS .


2. Fill in the class name.
3. Click SAVE to add the new class, or CANCEL to exit.

Delete Class

To delete class, follow these steps.


1. Click DELETE CLASS for the chosen class from the list.
2. Click DELETE in the confirma on window to proceed, or CANCEL to exit
without dele ng the class.

 Note

Users enrolled in the class you are dele ng will not be removed from the
database.

Edit Class, Learners and Coaches

A newly created class does not have any learners or coaches. To edit a class
select it from the default view in the Classes tab. In this view, you can change
class name, add or remove currently enrolled learners and assign or remove
coaches from the class.

Enroll Learners in Class

1. Click the ENROLL LEARNERS bu on on the class details page.


List in this view contains all the learners currently NOT enrolled for the
selected class.
You can search for a specific learner by name.

2. Use checkboxes to select all the learners in the list, or the search field for
specific learners you want to enroll to class.
3. Click CONFIRM to finish enrolling the selected learners and return to the main
class page.

Remove Learners from Class

1. Click REMOVE for the chosen learner.


2. Click REMOVE to confirm, or CANCEL to exit without removing the learner.
 Note

Learners removed from the class will not be deleted from the database, and
you can s ll access their accounts from the Users tab in the Facility
dashboard.

Assign Coaches to Class

1. Click the ASSIGN COACHES on the class details page.

List in this view contains all the users with Coach, Facility coach or Admin
roles.
You can search for a specific user by name.

2. Use checkboxes to select all the users in the list, or the search field for
specific users you want to assign as a coach to class.
3. Click CONFIRM to finish.
Remove Coaches from a Class

1. Click REMOVE for the chosen coach.


2. Click REMOVE to confirm, or CANCEL to exit without removing the coach.

 Note

Coaches removed from the class will not be deleted from the database, and
you can s ll access their accounts from the Users tab in the Facility
dashboard.
Rename Class

To edit class name, follow these steps.

1. Click on the Edit link next to the class’ name.


2. Write the new name in the Class name field.
3. Click SAVE to confirm the edited informa on, or CANCEL to exit without
saving.

Manage Data

You can download Kolibri Detail and Summary logs usage data and export in the
CSV format from the Data tab in your Facility dashboard ( icon).

To download session or summary logs, follow these steps.

1. Click the Generate log file link for the file you require.
2. Click the DOWNLOAD bu on.
3. Save the generated csv file on your local drive.
4. To download again a er more interac ons click the Generate a new log file
link.

 Note

To manage Kolibri users you must sign in as admin or super admin.

Advanced Manage Options

Working with Kolibri from the Command Line

In Windows you need to open the command prompt (for example with the
WIN + R shortcut, and typing cmd ) in the folder where Kolibri executable
is located. When Python is installed on drive C: the correct path will most
probably be C:/Python27/Scripts in Kolibri up to version 0.9, and
C:/Python34/Scripts in version 0.10 or above.

On macOS open Spotlight and type Terminal . You may also need to prefix
the commands with python -m , for example python -m kolibri start .

If you are running Kolibri with the .pex file, make sure to subs tute the
kolibri in below commands with the exact name of the file you
downloaded preceded by ./ . For example, to start Kolibri from the
downloaded file kolibri-v0.12.pex , type ./kolibri-v0.12.pex start .

In the commands below, angle brackets and the text between them <...>

are used to denote placeholders for you to modify. Make sure to replace
them with your own informa on.

If you see errors in the prompt/terminal output while running the commands
below, ask for help at our Community Forums, or file an issue on GitHub.
Start/Stop Kolibri

In case you need to troubleshoot poten al problems while running Kolibri, you
may try to start it manually from the command line.

kolibri start --debug --foreground

kolibri stop

Import Content Channels from Internet

To import content channels from Internet, run these two commands in sequence.
The first downloads the channel database, and the second downloads the
resources (videos, documents, etc.).

kolibri manage importchannel -- network <Channel ID>


kolibri manage importcontent -- network <Channel ID>

 Warning

When you import content channels from the command line, you s ll must
use the 32 digit channel ID, as the command will not work with the token.
Make sure to receive the correct channel ID from the person who curated
the unlisted channel you need to import, or refer to Kolibri Studio user guide
how to find it in Studio user interface, if you have channel editor access.

Export Content Channels

To export Kolibri content channels on a local drive in order to share it with


another device, run these two commands in sequence. The first exports the
channel database, and the second exports the resources (videos, documents,
etc.).
kolibri manage exportchannel -- <Channel ID> /path/to/local/drive/KOLIBRI_DATA
kolibri manage exportcontent -- <Channel ID> /mount/mydrive/KOLIBRI_DATA

The path should be to a folder named KOLIBRI_DATA at the root of the local drive,
so it will get picked up later for impor ng via the Web UI.

Reorder Content Channels

You can set the specific order for content channels in the Learn page according
to your preferences. Follow these steps.

To view the current ordered list of channels, run the command:

kolibri manage listchannels

The output will be something like:

Pos ID Name
--- -- ----
1 95a52b386f2c485cb97dd60901674a98 CK-12 Testing
2 a9b25ac9814742c883ce1b0579448337 TESSA - Teacher Resources

To set a posi on for a channel, run the command:

kolibri manage setchannelposition <Channel ID> <Pos>

Example with the above channels:

kolibri manage setchannelposition a9b25ac9814742c883ce1b0579 1

Pos ID Name
--- -- ----
1 a9b25ac9814742c883ce1b0579448337 TESSA - Teacher Resources
2 95a52b386f2c485cb97dd60901674a98 CK-12 Testing
Create a New Super Admin

In case you need to create another super admin user, either to address
addi onal need of managing facility, or if you lost the password for the old one,
run the following command.

kolibri manage createsuperuser

You will be prompted to input the Username and Password and the new super
admin user account will be created.

Import Users from a CSV File

 Note

This is currently an experimental feature, so please forward to the


development team any details about the issues you may encounter while
using it.

Command works on Kolibri version 0.9 and above.

CSV File Structure


To import users into Kolibri with this command, you will need to provide the user
data in a CSV (comma separated values) file format. You can export a CSV file
from a tabular data in any spreadsheet program (Excel, Google Sheets,
LibreOffice Calc, etc.).

User data in a spreadsheet table.


Header row is op onal, but if you do not include it, Kolibri will assume that
you are providing the data in the following order:

<full_name>,<username>,<password>,<facility>,<class>

If you do include a header row, you can provide less data, or put them a
different order:

<full_name>,<username>,<password>

<username>,<full_name>

Only the username is required.

When you do not provide passwords for the imported users, Kolibri will set
the default password kolibri for those usernames.

The facility can be either the facility name or the facility ID. If you do not
provide the facility, Kolibri will import users in the default facility on the
device. You can also specify the facility by adding the --facility argument in
the command line (see below).

kolibri manage importusers your-csv-file.csv

kolibri manage importusers your-csv-file.csv --facility <your-facility>

Delete Users Permanantly

If you need to permanently delete a Kolibri user and all the data associated with
their account, for example to ensure privacy rights according to GDPR, use the
following command.

kolibri manage deleteuser <username>

 Warning

This will permanently erase all the user data.


Change Language

kolibri language setdefault <langcode>

Language <langcode>

English en

Spanish (Spain) es-es

Spanish (Mexico) es-mx

French fr

Swahili (Tanzania) sw-tz

Arabic ar

Bulgarian bg

Farsi fa

Hindi (India) hi-in

Urdu (Pakistan) ur-pk

Marathi mr

Chinyanja nyn

Portuguese (Brasil) pt-br

Telugu te

Vietnamese vi

Yoruba yo

Backup and Restore Kolibri Database

Kolibri automa cally creates a backup of the database with every version
upgrade. If for some reason you need to make a manual backup, use the
following command.
kolibri manage dbbackup

This command will create a me-stamped .dump file in the ./kolibri/backups

folder that you can use to restore the database with the following command.

kolibri manage dbrestore --latest

If you need to restore a backup version prior to the latest one, you must specify
the full path to a specific *.dump file.

kolibri manage dbrestore ~/.kolibri/backups/db-xxxx.dump

 Warning

This command is not intended for replica on across different devices, but
only for restoring on a single device from a local backup of the database.

Change the Location of Kolibri Content Files

Kolibri content channels may occupy a considerable amount of hard disk space
over me. If you have concerns about running out of storage on your device, you
can move the Kolibri content files to another drive.

 Tip

If you have both SSD disk and HDD disk available on your device, it is
recommended to install Kolibri on the SSD drive to allow faster access to the
database, and move just the content file to the HDD drive.

To move the Kolibri content folders to another loca on, follow these steps.

1. Stop Kolibri.
kolibri stop

2. Create a new folder that will contain all the content files and resources on
the des na on drive.

kolibri manage content movedirectory <destination>

For example, if you created a new folder KolibriContent on an external drive,


run this command.

kolibri manage content movedirectory /mnt/my_external_drive/KolibriContent

If you are on Windows, and the new folder KolibriContent is on the drive F: ,
run this command.

kolibri manage content movedirectory F:\KolibriContent

3. Restart Kolibri.

This command will move the 2 subfolders databases and storage , from their
default loca on inside the .kolibri/content folder in your device’s home
directory, to a new loca on you specified in the command.

Change the Location of ALL Kolibri Files

If you want to change the directory where all of Kolibri’s run me files are
located, together with the imported content channels, you need to change the
environment variable called KOLIBRI_HOME to the path of your choice.
If the variable is le unset, by default, Kolibri’s run me files and content will be
placed in your user’s home folder, under the .kolibri subfolder.

 Note

Adjus ng this environment variable behaves differently than the


movedirectory command above:

Adjus ng the environment variable will not automa cally migrate over
data. You need to copy the .kolibri folder manually to the new loca on.

If you do copy the .kolibri folder, the content will not be affected if it
had been previously set using the movedirectory command.

There are many ways to set an environment variable either temporarily or


permanently. To start Kolibri on OSX or Linux with a different home, follow
these steps.

1. Stop the server.


2. Move the .kolibri folder to the new loca on.
3. Run the following in Terminal:

KOLIBRI_HOME=/path/to/new/home kolibri start

When you start the server again, all your files should be seamlessly detected at
that loca on.

To change the environment variable KOLIBRI_HOME on Windows, follow these


steps.

1. Stop the server.


2. Move the .kolibri folder to the new loca on.
3. Run the following in Command Prompt:
setx KOLIBRI_HOME "/path/to/new/home"

Restart the server, and your files should be seamlessly detected at the new
loca on.

Alterna vely, you can follow these steps in the GUI.

1. Go to Computer > Advanced System Se ngs and press the Environment


Variables bu on.
2. Under User Variables for… press the New… bu on.
3. Input KOLIBRI_HOME in the Variable name field, and your new path in the
Variable value field, and press OK on both open windows.

4. Restart Kolibri.

Customize Kolibri Settings with the OPTIONS.INI File

For certain configura on se ngs you need to use the options.ini file. Installing
Kolibri does not generate this file by default, but you can easily add one yourself.
Follow these steps.
1. Open the preferred text editor on your computer (eg. Notepad on Windows).
2. Write the required sec ons and keys (see details for available se ngs below)
in the following format:

[section]
key1 = a
key2 = b

3. Save the resul ng options.ini file in the .kolibri folder inside the Home
folder.

 Note

options.ini file can contain several sec ons with one or more associated
keys, depending on the requirements of your installa on.

Run Kolibri from a Different Port

If you need Kolibri to start and run from a port different than the default 8080 ,
add the sec on [Deployment] , and the key HTTP_PORT with the value of your
desired port, to the options.ini file.

[Deployment]
HTTP_PORT = 1234
# Substitute 1234 with your desired port number

Allow Profiling of Requests

If you need to profile server requests to get a more detailed informa on about
the Kolibri performance, add the following to the options.ini file.

[Server]
PROFILE = 1
Test Kolibri Server Performance

Benchmark

You can use the following command to collect informa on about the device
where Kolibri server is running, and details about how much of its resources it is
using. This command displays a snapshot of the server state at the me the
command is executed, and its output will vary depending on the current server
load. In case you suspect performance problems, type this in the Terminal or
Command prompt.

kolibri manage benchmark

The command will have an output similar to this:

Command line output of the ‘kolibri manage benchmark’ command


Take a screenshot of the Terminal or Command prompt, or copy and paste the
output in the community forum post.

Profile

In order to collect more than a current snapshot of Kolibri server performance,


you can use the profiling command. When executed, the command will collect a
series of performance indicators every 10 seconds and save them in a CSV file.
Type this in the Terminal or Command prompt.

kolibri manage profile

 Tip

Command collects and saves the informa on 60 mes by default. If you want
to change this value, add the --num-samples flag with the desired number at
the end.

kolibri manage profile --num-samples=100

Each log line contains this informa on:

Date and me of each command execu on


Number of Kolibri ac ve sessions (including guest sessions)
Number of Kolibri logged users
Number of Kolibri user interac ons during the last minute
Total percentage of CPU use
Total memory use
Total available memory

Number of processes executed in the server


Percentage of CPU used by Kolibri
Percentage of memory used by Kolibri

To help us troubleshoot poten al problems on your Kolibri server, locate and


send us the KOLIBRI_HOME/performance/date_time_performance.csv file.

Profile Server Requests


If you have the [Server] sec on of the OPTIONS.INI file configured with
PROFILE = 1 , the above command will addi onally perform a profiling of every
request made by Kolibri server, and save the results in a second log file as
KOLIBRI_HOME/performance/date_time_requests_performance.csv

Each log line contains this informa on:

Timestamp
Request path
Time spent processing the request
Memory (in KB) used by the Kolibri process when the request came in
Memory (in KB) used by the Kolibri process when the response was sent
CPU percentage used by the Kolibri process when the request came in
CPU percentage used by the Kolibri process when the request was sent
Flag indica ng if the request is the slowest one since the analysis started

 Warning

Profiling server requests can consume a lot of computer resources, and


poten ally slow it down. For this reason you need to explicitly allow it in the
options.ini file. Without the PROFILE = 1 key, command will not profile

server requests (but just the current server state), and it will not create the
second CSV file.
Troubleshooting

Troubleshoot Network Issues

1. Can you access Kolibri when you type http://127.0.0.1:8080 in the address
bar of the browser?
2. Can you access anything from the external IP of the device running Kolibri
FROM the device itself? Read more informa on about IP addresses.
3. Can you ping the external IP address from another device on the network?
For example, if Kolibri is on a device/computer with IP address
192.168.0.104 , type this in the Terminal or Command prompt:

ping 192.168.0.104

Firewalls

If you are having trouble connec ng to Kolibri from other computers, your
firewall might be blocking access.

Windows systems o en come with firewalls bundled and enabled, and this may
interfere with running Kolibri. That said, you probably want to keep your firewall
enabled for security reasons, especially if the server is connected to the public
internet.

You can try temporarily disable your firewall to see if it helps with connec ng to
Kolibri. If so, you’ll want to turn the firewall back on and then create a excep on
rule for Kolibri to allow access.

Troubleshoot Database Issues

In case you receive the database disk image is malformed error in Terminal, try
running these commands (note that you must have the sqlite3 command
available on your system).
mkdir -p malformed
cp -b db.sqlite3* malformed
sqlite3 ~/.kolibri/db.sqlite3 .dump | sqlite3 fixed.db
cp fixed.db ~/.kolibri/db.sqlite3
rm -f db.sqlite3-wal db.sqlite3-shm

For further assistance, please report the issue on our Community Forums,
sta ng the opera ng system and Kolibri version.

Videos are not playing

Make sure to check the system requirements to see if you can support video
playback. Please report any issues on our Community Forums, sta ng the
opera ng system and browser you are using.

Problems with import and export from USB drives

Kolibri needs read and write access to USB drives in order to import and export
content. There are several possibili es why you may encounter issues during this
procedure.

User account does not have access:


you installed Kolibri in your own environment running as a non-desktop
user (for instance UWSGI)
you have upgraded Kolibri on Debian from a version prior to v0.10.
Follow these instruc ons to change the ownership of Kolibri system
service from one user account to another
to grant access to USB drives to other accounts, refer to the
documenta on of your opera ng system
Write access denied: Some USB drives will experience problems when they
are unplugged from the computer in an “unclean” way. If you are denied
access to write, look for op ons to “fix” or “repair” the file system.
Data failures: Copying the data can take a long me. If you do not see the
final success confirma on message a er the copy apparently finishes, do not
assume that the data has been imported or exported correctly. Restart the
process instead, otherwise you risk inconsistent and malfunc oning content
data.
Hardware life expectancy: SD and flash storage drives can “expire”. Reading
and wri ng large quan es of content data, especially on older or models
with smaller capacity, may produce data errors over me.

Locate Kolibri log files

When you report a problem with Kolibri, we may ask you to send us Kolibri log
files to help us find out why is it not working or crashing.

Open the .kolibri folder inside the Home folder of the device where Kolibri is
running and locate these two files:

kolibri.log

debug.log

 Warning

On Linux and MacOS systems you will need to ac vate the Show Hidden Files
op on in your file browser, in order to view the .kolibri folder.

About IP addresses

127.0.0.1 IP address, or localhost , is device’s own IP address. You can use it


in the browser on the device where Kolibri is running to make sure it is
working correctly.
Aside from its own localhost address, a device running Kolibri also has an
external IP address like 192.*.*.* or 10.*.*.* , under which it is recognized
by other devices in the same local network. That is the IP address that you
need to use in the browsers on client devices (learner tablets or computers),
to connect with Kolibri server.
Kolibri by default runs on the port number 8080 , but you can change this
se ng to meet your par cular needs.
So when you type the full IP address like http://192.168.1.1:8080 in the
browser of a client device, you are telling it to: “Connect to IP address
192.168.1.1 on port 8080 with the HTTP protocol, and display its content”.

Coach your Learners in Kolibri

You can track progress of the Learners, create and assign Lessons and Quizzes
to classes or learner groups from the Coach dashboard. The default view of the
Coach dashboard presents the list of Classes with their assigned coaches, and
the number of learners enrolled in each class.

Click on a class to access the progress-tracking features and create lessons,


quizzes and groups.

Choose one of the classes from this view to access the Kolibri coach features.

Class Home

On the Class Home tab ( icon) you can see the overview of the class ac vity
and track progress of the learners on lessons and quizzes assigned to them.
Frequently Asked Questions

How much does Kolibri cost to install?

Kolibri is free and open source so ware! To learn more about free so ware, see
this Free So ware Founda on ar cle.

Do I need the internet to run Kolibri?

Short answer: No! You can bring or send a storage device (USB or HDD unit)
with Kolibri installer and content channels downloaded somewhere with
available internet connec on, and install everything on an completely offline
device.

In a nutshell, Kolibri can run independently of internet availability, but you need
to procure the installer and content channels from somewhere for the ini al
installa on and for subsequent upgrades.

One possibility is to have Kolibri installed in one loca on with internet


connec on, where you can import content channels from Kolibri Studio
(curriculum tool and content cura on server), and then export them to
removable USB drives that you bring or send to offline loca ons (rural schools,
refugee camps, etc.) to import locally.

What languages is Kolibri available in?

Both Kolibri and Kolibri Studio are transla on-ready and currently available in
these languages:
Language Kolibri Kolibri Studio

English ✓ ✓

Arabic ✓

Bengali ✓

Chinyanja ✓

Farsi ✓

French ✓

Hindi ✓

Marathi ✓

Portuguese (Brazil) ✓

Spanish (Mexico) ✓

Spanish (Spain) ✓ ✓

Swahili (Tanzania) ✓

Tamil ✓

Bulgarian ✓

Urdu (Pakistan) ✓

Yoruba ✓

Vietnamese ✓

To contribute to Kolibri and Kolibri Studio as a translator, you can get started
over on our transla ons and interna onaliza on page.

What are the typical deployment scenarios?

There is no typical implementa on se ng. However, we can share with you


what we’ve learned from our community of KA Lite and Kolibri users. Some
example implementa on se ngs are provided below based on the presence of a
coach and whether the se ngs allows for formal, non-formal, and informal
learning.

Coach No Coach

Formal and School A er school program


Non-
classroom
Formal Supplementary educa on se ng
Home (computer labs model)
schooling
Use in classroom that has teacher, but
Supplementary without coach engagement or
educa on monitoring
se ng

Informal Tutoring Mobile school vans


session
Use for homework only

What are some possible hardware configurations for deploying


Kolibri?

To deploy Kolibri for mul ple users you will need:

1. Server device: a computer that is running the Kolibri so ware (e.g. a desktop
computer, laptop, or Raspberry Pi).
2. One or more client devices that have web browsers (laptops, tablets, desktop
computers, etc)

 Note

For a single-device deployment (1) and (2) can be the same computer, with
the browser connec ng to the locally running Kolibri server. To make the
so ware accessible to mul ple client devices, you will need to put them on
the same local network as the Kolibri server device (1), e.g. through a WIFI
access point.

To read more details, see the full Kolibri Hardware Guide and examples of
Hardware Configura ons for Kolibri (PDF documents).
How can I generate content aligned to local curriculum?

Use Kolibri Studio curriculum tool to curate content channels aligned to your
local requirements. Once you finish crea ng the channels on Studio, you can
import them on all your Kolibri deployments for use in learning environments.

Bulk Downloads of Content Channels

Coming soon!

At this me we do not support bulk downloads of content channel outside the


Kolibri pla orm. In the near future, we will consider offering bit torrents for
certain global content channels.

Something isn’t working!

Refer to the Troubleshoot and Support sec on of this guide.

Who maintains the Kolibri project?

Kolibri is created, maintained, and operated by Learning Equality.

How do you operate in the field?

The Learning Equality team primarily works in our San Diego offices, building
so ware and shaping our road map based on our interac ons with our partners
around the world. We work with individual humanitarians and NGOs of all sizes
to help them distribute Kolibri to offline communi es around the world, and will
work on site for research and training purposes.

What is Kolibri’s affiliation with Khan Academy?

Kolibri is an independent, open-source project maintained by Learning Equality,


and is not officially affiliated with Khan Academy, although they are very
suppor ve of the Kolibri project.

Can I contribute to Kolibri as a developer?


Yes! Kolibri is an open source project, and developers are encouraged to
contribute!

Can I contribute to Kolibri as a translator?

Yes, absolutely! To contribute to Kolibri and Kolibri Studio as a translator, you


can get started over on our transla ons and interna onaliza on page.

How do I find out more about Learning Equality and Kolibri?

To stay up-to-date on all our ac vi es, follow our blog, Twi er, and Facebook!

Get in touch

Getting support from Learning Equality and our community

Due to the open-source nature of our work, we encourage that all inquiries,
inputs, contribu ons and feedback are openly shared in our Community Forums,
so that any user with similar ques ons to yours can benefit from the answer, and
have a centralized place to search for it. Please consider suppor ng others
whenever you can. Your goals are likely overlapping with other users of Kolibri, so you
may consider yourself as part of a community of like-minded prac oners!

The first thing you need to do is register on the forum. Once registered, please
read the the first two pinned topics (Welcome to LE’s Support Community and
How do I post to this forum? )

You can add a new topic with the + New Topic bu on on the right. Make sure
to select the appropriate category in the Create a New Topic window to
facilitate the triage and response processes.
Feedback

New ideas

Un l we can present a proper feedback pla orm, we encourage you to post any
new ideas to the Community Forums.

Technical issues

Try reading the Troubleshoo ng sec on of this guide first.

In order to report a technical issue, you can either use the Support category in
our forum, or open up an issue report in our public so ware repository,
following the guidelines:

github.com/learningequality/kolibri

Contributions and development


Kolibri is an open-source project, and as such, contribu ons from the tech
community are welcomed, encouraged and appreciated. If you’d like to
contribute to Kolibri, please refer to our developer docs:

kolibri-dev.readthedocs.io

You might also like