KOLIBRI
KOLIBRI
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.
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
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+
Raspbian Lite
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.
We install Kolibri as one of the very final step. But please read and complete the
prior steps.
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
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.
Run sudo raspi-config for the general setup op ons such as keyboard layout,
mezone etc.
Warning
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.
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.
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.
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
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):
Warning
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
Next, edit /etc/default/hostapd to enable the configura on file that we have just
wri en:
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 :
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 .
Then, you need to edit and adapt your default Cap ve Portal page. You can use
this template.
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.
server {
listen 80;
listen [::]:80;
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.
# 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 the configuration and navigate to the Boot option, selecting "Console"
sudo raspi-config
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
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:
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:
Future steps
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
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
Servers
Hard drive space depends on the size of the content channels you intend to
import from Kolibri Studio or a local storage device.
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
Warning
Windows firewall will prompt you to allow the Python process needed to run
Kolibri. Click Allow access to accept and proceed.
Upgrade
Debian/Ubuntu
Compatibility
Use the following commands in Terminal to add the PPA and install Kolibri:
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:
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.
Uninstall
When you use the PPA installa on method, upgrades to newer versions will be
automa c, provided there is internet access available.
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.
Tip
Warning
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
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.
# 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
Upgrade
When you use the PPA installa on method, upgrades to newer versions will be
automa c, provided there is internet access available.
Compatibility
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.
cd Downloads
Note
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
Upgrade
You can install Kolibri as a standard package from PyPi (works on Mac, Windows,
and Linux) using this command:
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.
Warning
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.
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
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.
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.
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
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.
kolibri start
Warning
On macOS you may need to prefix the command with python , and type
python -m kolibri start instead.
Note
kolibri stop
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:
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.
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.
Note
To change language in which the Kolibri user interface is displayed, follow these
steps:
Warning
Manage Kolibri
Kolibri users by default can be divided in 3 different roles with respec ve access
to features.
Default user roles
Learners can:
Coaches can:
View Coach dashboard and track progress of other users and usage stats for
individual exercises
Facility coaches have access to all classes, class coaches only to ones they
are assigned to
Admins can:
View Coach dashboard and track progress of other users and usage stats for
individual exercises
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
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.
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
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).
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.
Kolibri version
Opera ng system
Installer type
Database path
Device name
Server me
Server mezone
Find out the extended device info in the Device > Info tab.
Manage Content
Note
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.
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:
OR
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
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
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.
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.
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
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.
Beware that the restart might take longer a er these steps, as Kolibri needs to
map all the new content in the database.
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.
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.
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
Delete Channel
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:
Manage Users
You can search for, filter, add, and edit user accounts in Kolibri from the Users
tab in your Facility dashboard ( icon).
Note
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.
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.
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
Delete Class
Note
Users enrolled in the class you are dele ng will not be removed from the
database.
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.
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.
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.
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
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
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).
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
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 stop
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.).
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.
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.
You can set the specific order for content channels in the Learn page according
to your preferences. Follow these steps.
Pos ID Name
--- -- ----
1 95a52b386f2c485cb97dd60901674a98 CK-12 Testing
2 a9b25ac9814742c883ce1b0579448337 TESSA - Teacher Resources
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.
You will be prompted to input the Username and Password and the new super
admin user account will be created.
Note
<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>
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).
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.
Warning
Language <langcode>
English en
French fr
Arabic ar
Bulgarian bg
Farsi fa
Marathi mr
Chinyanja nyn
Telugu te
Vietnamese vi
Yoruba yo
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
folder that you can use to restore the database with the following command.
If you need to restore a backup version prior to the latest one, you must specify
the full path to a specific *.dump file.
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.
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.
If you are on Windows, and the new folder KolibriContent is on the drive F: ,
run this command.
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.
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 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.
When you start the server again, all your files should be seamlessly detected at
that loca on.
Restart the server, and your files should be seamlessly detected at the new
loca on.
4. Restart Kolibri.
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.
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
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.
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.
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
server requests (but just the current server state), and it will not create the
second CSV file.
Troubleshooting
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.
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.
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.
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.
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
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.
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
Kolibri is free and open source so ware! To learn more about free so ware, see
this Free So ware Founda on ar cle.
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.
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.
Coach No Coach
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.
Coming soon!
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.
To stay up-to-date on all our ac vi es, follow our blog, Twi er, and Facebook!
Get in touch
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
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
kolibri-dev.readthedocs.io