Skip to main content

Welcome to Kolibri Documentation

Build, deploy, and contribute to the offline-first learning platform bringing education to communities worldwide, even without internet access.

Offline-First
Works without internet
Multi-Role System
Learners, coaches, admins
Cross-Platform
Windows, Mac, Linux, Android

Quick Start

Get Kolibri running locally in just a few steps

1

Install Dependencies

Install Python 3.9+ and Node.js 20.19, then set up your development environment.
# Clone the repository
git clone https://github.com/learningequality/kolibri.git
cd kolibri

# Install Python dependencies
pip install -r requirements/dev.txt

# Install Node dependencies
pnpm install
2

Set Up Pre-commit Hooks

Pre-commit hooks ensure code quality and consistency across the project.
# Install pre-commit hooks (required)
pre-commit install

# Set environment variable for dev mode
export KOLIBRI_RUN_MODE=dev
3

Run Database Migrations

Initialize the local database with the required schema.
# Run migrations
kolibri manage migrate
4

Start Development Servers

Run the Django backend and webpack frontend watcher in separate terminals.
# Terminal 1: Start Django dev server
pnpm run python-devserver

# Terminal 2: Start webpack watcher
pnpm run watch
Access Kolibri at http://localhost:8000 once both servers are running.

Explore by Topic

Learn about Kolibri’s core features and architecture

Architecture

Understand Kolibri’s plugin-based architecture and Django/Vue.js stack

Plugin Development

Create custom plugins to extend Kolibri’s functionality

Frontend Development

Build Vue.js components with the Kolibri Design System

Backend Development

Work with Django, REST APIs, and database models

Testing

Write and run pytest and Jest tests for quality assurance

Internationalization

Add multi-language support to your code

Key Features

Discover what makes Kolibri powerful for offline education

Learn Plugin

Learner interface for browsing channels, watching videos, and completing exercises

Coach Tools

Create lessons, assign quizzes, track student progress, and manage classes

Facility Management

Manage users, roles, permissions, and facility-wide settings

Device Management

Import content channels, sync data, and configure device settings

Content Library

Access thousands of OER resources from Khan Academy, CK-12, and more

API Reference

Explore Kolibri’s REST APIs and frontend modules

Authentication API

User login, session management, and permissions

Content API

Query content channels, nodes, and metadata

Lesson & Exam APIs

Manage lessons, quizzes, and student assignments

Frontend Core API

JavaScript/Vue.js modules and utility functions

Ready to Contribute?

Join our global community of developers, educators, and volunteers building educational technology for everyone.