This package automates the configuration of a local web server setup to optimize Kolibri for several clients.
It configures and starts Nginx & UWSGI to work together with Kolibri, so caching of static assets is done and use of multicore architecture most servers have is activated when possible.
To fetch and build a new version of this package, the following workflow is suggested:
kolibri-proposed development PPA <https://launchpad.net/~learningequality/+archive/ubuntu/kolibri-proposed>
__/etc/apt/sources.list.d/learningequality-ubuntu-kolibri-proposed*
sudo apt update
apt source kolibri-server
dch
to edit the changelog. If dch
is not available, then install: sudo apt install devscripts
<unpacked-package>/debian
and run dpkg-buildpackage
in order to test a new build.<unpacked-package>/debian
to your git checkoutYou can optimize this workflow according to your own needs.
Changes can be built and released in kolibri-proposed
by the Learning Equality Launchpad team <https://launchpad.net/~learningequality/>
__.
You can also make changes in the cloned repository in the following workflow:
dch
, carefully noting your release notes.make dist
sudo dpkg -i ../kolibri-server_VERSION.deb
make dist
debian/changelog
Push new changes to kolibri-proposed
and test them there.
To build packages for all current Ubuntu release series:
sudo apt install python-launchpadlib
ppa-copy-packages.py
script to copy the builds for Xenial to all other currently active and supported Ubuntu releases on Launchpad. The script is run from command line with python2 ppa-copy-packages.py
. After this, you should be prompted to create an API key for your Launchpad account.kolibri-proposed
should be released as a stable release, use the binary copy function on Launchpad to copy builds from kolibri-proposed
.This package depends on the main kolibri
Debian package, from versions 0.12 and up.
kolibri.service
: The system service provided by the kolibri
package is configured such that the built-in web server (HTTP server 'Cherry Py') is disabled. The Kolibri service still runs and is responsible for setting up the initial database, keeping it migrated and for handling all channel downloads as the main background worker daemon. The system service is disabled when installing kolibri-server
, but is started by the kolibri-server.init
script.kolibri-server.service
: Starts UWSGI workers. Depends on Nginx running. Intentionally does not depend on kolibri.service
as it is disabled.kolibri-server.init
: Starts kolibri
and creates 2 dynamic configuration files to include in the configuration of UWSGI workers and Nginx.You can configure the behavior of the UWSGI workers, by adding .ini
files to /etc/kolibri/uwsgi.d/
.
You can configure the main Nginx site and overwrite defaults by adding .conf
files in to /etc/kolibri/nginx.d/
.