Install Kolibri

Warning

Kolibri is not released yet, so these guides are Work in Progress !

To install Kolibri, check the system requirements first and then follow the procedure for the operating system on your device.

System requirements

Operating systems

  • Android server - unsupported
  • Android client - 4.2+ supported
  • Mac server - 10.6+ supported as PEX
  • Mac client - all browsers supported
  • iOS server - unsupported
  • iOS client - safari unsupported, chrome & FF supported
  • Windows server * Supported: Vista, 7, 8, 10 * Unsupported: Windows XP cannot be used to install Kolibri server, but could potentially work as a client device if the browsers are as up-to-date as possible.
  • Windows client - IE 11+, chrome, FF supported
  • Ubuntu: 14.04, 16.04 and up - anything that’s not end-of-life.
  • Debian/Raspbian: Jessie or later
  • Linux: Any system with Python 2.7

Supported Browsers

  • IE11+, Microsoft Edge
  • Firefox
  • Chrome
  • (planned) Safari
  • (planned) Epiphany on Raspberry Pi
  • (planned) others on Android and iOS.

Video playback

Videos are MP4 encoded, and require no aditional installation of plugins or codecs.

Hardware requirements

Tip

Below you will find general recommendations regarding hardware requirements. To read more detailed information and find out examples of hardware setups that have been implemented by our partners and users, download the full Kolibri Hardware Guide and examples of Hardware Configurations for Kolibri (PDF documents).

Clients

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

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

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.

Windows

To install or uninstall Kolibri on Windows, follow these steps.

Install

  1. Download the Kolibri Windows installer.
  2. Double-click the downloaded .exe file.
  3. Select the language for the installation.
  4. Follow the instructions in the installation wizard window.
  5. Once the installation finishes, Kolibri will auto-start and open in the default browser on your computer.
  6. Proceed with the Initial 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.

Allow the Python process needed to run Kolibri.

Uninstall

  1. Open the Windows Control Panel.
  2. Select Programs and Features option.
  3. Select Kolibri from the list of programs.
  4. Click the button Uninstall/Change and follow the instructions.

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 instructions in the installation wizard window.
  4. Once the installation 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 Linux

Warning

Beware that the final Linux deb installer is still Work-in-Progress, and that you may run into issues with the steps indicated below. Please report any problems with this installer on our GitHub repository.

However, you can run Kolibri in Terminal using the package called PEX. Follow the same procedure as indicated for macOS.

Install from PPA repository

  1. Use the following commands in Terminal to add the PPA and install Kolibri.
sudo add-apt-repository ppa:learningequality/kolibri
sudo apt-get update
sudo apt-get install kolibri

OR

  1. Go to Kolibri project page on Launchpad.
  2. Click and select the latest source package. It doesn’t matter which series, all binaries are the same, regardless of your architecture or Ubuntu/Debian version.
  3. Scroll down to Package files.
  4. Download the Kolibri installer (DEB file).
  5. Run the command:
sudo dpkg -i kolibri-installer-filename.deb
  1. Wait for the installation to finish and run this command to start Kolibri:
kolibri start
  1. When command finishes, open the default browser at http://127.0.0.1:8080 and proceed with the Initial Setup of your facility.

Uninstall

  • Open up Software on Ubuntu and locate the Kolibri. Press Remove.

OR

  • Use sudo apt-get remove <name of package>. You need to know the exact name of the package you installed, most probably kolibri.

Upgrade

TODO - Review

To upgrade Kolibri, follow these steps.

  1. Download the new version of Kolibri.
  2. Start the installer.
  3. Once the installation of the upgrade is finished, Kolibri will auto-start and open in the default browser on your computer.
  4. Go explore the new and improved Kolibri features!

MacOS

Warning

Full macOS installer is not yet available, but you can run Kolibri in Terminal using the package called PEX.

Install

  1. Download the Kolibri PEX installer.
  2. Open Terminal in the folder where PEX file is located and run the command:
chmod +x kolibri-installer-filename.pex
./kolibri-installer-filename.pex start
  1. Once the command finishes, open the default browser at http://127.0.0.1:8080 and proceed with the Initial Setup of your facility.

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!

Android

Warning

Final Android installer is not yet available!

Install

  1. Allow the installation of Kolibri on your Android device.

    Warning

    This beta version of Kolibri Android installer is not yet available on Play Store, and in order to install it, you need to change a security setting (these steps may be slightly different depending on the device model and Android version):

    1. Open your device’s Settings app.
    2. Under Personal, tap Security.
    3. Under Device administration, tap Unknown sources.
  2. Download the Kolibri Android installer (APK file).

  3. Tap the downloaded .apk file.

  4. Wait until the installation finishes.

  5. Once you have Kolibri installed, tap Open and proceed with the Initial Setup of your facility.

Warning

Be mindful of the size of content channels that you import on your Android phone or tablet, as some of them can quickly fill your device’s storage.

Uninstall

  1. Open your device’s Settings app.
  2. Under Apps, tap Kolibri.
  3. Tap Uninstall button.

Upgrade

To upgrade Kolibri, follow these steps.

  1. Uninstall the previous version.
  2. Download the new version of Kolibri.
  3. Tap the downloaded .apk file.
  4. Wait until the installation finishes.
  5. Tap Open and go explore the new and improved Kolibri features!

Advanced installation options

Warning

Advanced installation options are in progress.

Generic installation (pip install)

Once Kolibri is released, you may install it as a standard package from PyPi using this command:

$ pip install kolibri --pre

Debian/Ubuntu: Subscribe to updates through a PPA

We maintain a PPA on Launchpad and if you are connected to the internet, this will also give you automatic updates.

On Ubuntu/Debian/Raspbian, do this:

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

Raspberry Pi

Note

This section is pending instructions for creating a WI-FI hotspot. You can install Kolibri on Raspbian following the above instructions for the PPA or the pip install method.

Nginx configuration

Note

This section is pending instructions for NGINX configuration. You can install Kolibri on Raspbian following the above instructions for the PPA or the pip install method. If you are an experienced system administrator or Django user, know that it is possible to use Kolibri with for instance UWSGI+Nginx, using conventional methods.

Initial Setup

To do the initial setup of after the installation, follow these steps.

Note

You need to do the initial setup only once, the first time you start Kolibri after the installation.

  1. Select the default language for Kolibri.

    Select the default Kolibri language.

    Select the default Kolibri language.

    Tip

    You can change the user interface language later, from the user menu in the upper right corner.

  2. Name your facility. A Facility is the location where you installed Kolibri, such as a school or a training center.

    Select the name for the facility where Kolibri is running.

    Select the name for the facility where Kolibri is running.

  3. Create the Admin account. This Admin user will be a Super User able to manage all the device content, and all the rest of the facility users and their permisions.

    Select the username and password for the facility Super User.

    Select the username and password for the facility Super User.

  4. Choose a Facility setup. Click the Setup details for more information about user permissions for each setup type.

Facility type Users
Admin managed
For schools and other formal learning contexts.
  • Admins must create all user accounts.
  • Users can sign in without password.
  • Users cannot edit their account information.
Self-managed
For parent-child learning, homeschooling
or suplementary individual learning.
  • Guests can create their own accounts.
  • Users can edit their account information.
Informal and personal use
For libraries, orphanages, correctional
facilities, youth centers, computer labs,
and other non-formal learning contexts.
  • Guests can create their own accounts.
  • Users can edit their account information.
Choose a Facility setup.

Choose a Facility setup.

View the Facility setup details.

View the Facility setup details.

  1. Once you finish the initial 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.

Release Notes

Changes are ordered reverse-chronologically.

0.7.0

  • Completed RTL language support
  • Languages: English, Spanish, Arabic, Farsi, Swahili, Urdu, and French
  • Support for Python 3.6
  • Split user and developer documentation
  • Improved lost-connection and session timeout handling
  • Added ‘device info’ administrator page
  • Content search integration with Studio
  • Granular content import and export

0.6.1 (unreleased)

  • Many mobile-friendly updates across the app
  • Update French, Portuguese, and Swahili translations
  • Upgraded Windows installer

0.6.0

  • Cross-channel searching and browsing
  • Improved device onboarding experience
  • Improved device permissions experience (deprecated ‘device owner’, added ‘superuser’ flag and import permission)
  • Various channel import/export experience and stability improvements
  • Responsive login page
  • Dynamic language switching
  • Work on integrated living style guide
  • Added beta support for right-to-left languages
  • Improved handling of locale codes
  • Added support for frontend translation outside of Vue components
  • Added an open-source ‘code of conduct’ for contributors
  • By default run PEX file in foreground on MacOS
  • Crypto optimizations from C extensions
  • Deprecated support for HTML in translation strings
  • Hide thumbnails from content ‘download’ button
  • Automatic database backup during upgrades. #2365
  • … and many other updates and fixes

0.5.3

  • Release timeout bug fix from 0.4.8

0.5.2

  • Release bug fix from 0.4.7

0.5.1

  • Python dependencies: Only bundle, do not install dependencies in system env #2299
  • Beta Android support
  • Fix ‘importchannel’ command #2082
  • Small translation improvements for Spanish, French, Hindi, and Swahili

0.5.0

  • Update all user logging related timestamps to a custom datetime field that includes timezone info
  • Added daemon mode (system service) to run kolibri start in background (default!) #1548
  • Implemented kolibri stop and kolibri status #1548
  • Newly imported channels are given a ‘last_updated’ timestamp
  • Add progress annotation for topics, lazily loaded to increase page load performance
  • Add API endpoint for getting number and total size of files in a channel
  • Migrate all JS linting to prettier rather than eslint
  • Merge audio_mp3_render and video_mp4_render plugins into one single media_player plugin
  • KOLIBRI_LISTEN_PORT environment variable for specifying a default for the –port option #1724

0.4.9

  • User experience improvements for session timeout

0.4.8

  • Prevent session timeout if user is still active
  • Fix exam completion timestamp bug
  • Prevent exercise attempt logging crosstalk bug
  • Update Hindi translations

0.4.7

  • Fix bug that made updating existing Django models from the frontend impossible

0.4.6

  • Fix various exam and progress tracking issues
  • Add automatic sign-out when browser is closed
  • Fix search issue
  • Learner UI updates
  • Updated Hindi translations

0.4.5

  • Frontend and backend changes to increase performance of the Kolibri application under heavy load
  • Fix bug in frontend simplified login code

0.4.4

  • Fix for Python 3 compatibility in Whl, Windows and Pex builds #1797
  • Adds Mexican Spanish as an interface language
  • Upgrades django-q for bug fixes

0.4.3

  • Speed improvements for content recommendation #1798

0.4.2

  • Fixes for morango database migrations

0.4.1

  • Makes usernames for login case insensitive #1733
  • Fixes various issues with exercise rendering #1757
  • Removes wrong CLI usage instructions #1742

0.4.0

  • Class and group management
  • Learner reports #1464
  • Performance optimizations #1499
  • Anonymous exercises fixed #1466
  • Integrated Morango, to prep for data syncing (will require fresh database)
  • Adds Simplified Login support as a configurable facility flag

0.3.3

  • Turns video captions on by default

0.3.2

  • Updated translations for Portuguese and Kiswahili in exercises.
  • Updated Spanish translations

0.3.2

  • Portuguese and Kaswihili updates
  • Windows fixes (mimetypes and modified time)
  • VF sidebar translations

0.3.0

  • Add support for nested URL structures in API Resource layer
  • Add Spanish and Swahili translations
  • Improve pipeline for translating plugins
  • Add search back in
  • Content Renderers use explicit new API rather than event-based loading

0.2.0

  • Add authentication for tasks API
  • Temporarily remove ‘search’ functionality
  • Rename ‘Learn/Explore’ to ‘Recommended/Topics’
  • Add JS-based ‘responsive mixin’ as alternative to media queries
  • Replace jeet grids with pure.css grids
  • Begin using some keen-ui components
  • Update primary layout and navigation
  • New log-in page
  • User sign-up and profile-editing functionality
  • Versioning based on git tags
  • Client heartbeat for usage tracking
  • Allow plugins to override core components
  • Wrap all user-facing strings for I18N
  • Log filtering based on users and collections
  • Improved docs
  • Pin dependencies with Yarn
  • ES2015 transpilation now Bublé instead of Babel
  • Webpack build process compatible with plugins outside the kolibri directory
  • Vue2 refactor
  • HTML5 app renderer

0.1.1

  • SVG inlining
  • Exercise completion visualization
  • Perseus exercise renderer
  • Coach reports

0.1.0 - MVP

  • Improved documentation
  • Conditional (cancelable) JS promises
  • Asset bundling performance improvements
  • Endpoint indexing into zip files
  • Case-insensitive usernames
  • Make plugins more self-contained
  • Client-side router bug fixes
  • Resource layer smart cache busting
  • Loading ‘spinner’
  • Make modals accessible
  • Fuzzy searching
  • Usage data export
  • Drive enumeration
  • Content interaction logging
  • I18N string extraction
  • Channel switching bug fixes
  • Modal popups
  • A11Y updates
  • Tab focus highlights
  • Learn app styling changes
  • User management UI
  • Task management
  • Content import/export
  • Session state and login widget
  • Channel switching
  • Setup wizard plugin
  • Documentation updates
  • Content downloading

0.0.1 - MMVP

  • Page titles
  • Javascript logging module
  • Responsiveness updates
  • A11Y updates
  • Cherrypy server
  • Vuex integration
  • Stylus/Jeet-based grids
  • Support for multiple content DBs
  • API resource retrieval and caching
  • Content recommendation endpoints
  • Client-side routing
  • Content search
  • Video, Document, and MP3 content renderers
  • Initial VueIntl integration
  • User management API
  • Vue.js integration
  • Learn app and content browsing
  • Content endpoints
  • Automatic inclusion of requirements in a static build
  • Django JS Reverse with urls representation in kolibriGlobal object
  • Python plugin API with hooks
  • Webpack build pipeline, including linting
  • Authentication, authorization, permissions
  • Users, Collections, and Roles