kolibri: Kolibri videos cannot play on any Apple devices through Internet In A Box server

Observed behavior

Dear Team Kolibri, I have a very urgent request which I need your help if possible. I have an opportunity to run a pilot project with 10 Internet In A Box (IIAB) servers in the Congo DRC this July, but encounter a big problem. Kolibri videos cannot play on any of the Apple products (ipad, iphone, notebook) only on my Samsun phone, accessing them through IIAB server. I cannot implement this project until this problem is resolved. This the error I get on apple products when I click on play:

image

But the videos play on Apple products only if I downloaded them directly from Kolibri site onto the iphone. This is the details of the procedure I downloaded the videos from the Kolibri content library onto IIAB server:

  1. From IIAB front menu, click on Kolibri 2) Login as Admin 3) Once on Kolibri main page, click on 3 bars on the upper left corner 4) Select Device on the pull down menu 5) From here click on import. A window opens 6) From window, select Local network or internet and click continue 7) Now paste the full network address : https://vodaeduc.vodacom.cd/fr-fr This will show all the program for you to select which one you need to download. …

Errors and logs

Expected behavior

User-facing consequences

Steps to reproduce

Context

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 27 (8 by maintainers)

Most upvoted comments

Videos should now work (on Apple & LG too!) thanks to @jvonau who guided PR iiab/iiab#2824huge thanks to Everyone for making this happen!

@rtibbles are you talking about @jredrejo’s 97-line https://github.com/learningequality/kolibri-server/blob/master/nginx.conf ? Thank you for this tip as I regret I did not quite understand @jredrejo back in March 2020. Many would like to understand NGINX recommendations for Kolibri for the coming decade. And specifically, how to act on these pragmatically. With regards to the above 97-line nginx.conf

It seems to require /usr/share/kolibri which does not exist within IIAB. Should this refer to some other directory within /library/kolibri or something related to /usr/lib/python3/dist-packages/kolibri/dist or otherwise? Possibly we should shoot for a general approach to softcode/parametrize such hardcoded paths?

This appears to be about handling 502 Bad Gateway Errors. Do these arise often, and from what generally? In any case, to address 502 errors if these are common, I’m also not finding the 20 /error.html files (possibly because non-English languages are not installed in the Kolibri-with-IIAB I looked at?) The default /error.html (the English one presumably?) is also being missing — which is seemingly more concerning? As I’m not finding error_pages anywhere in the filesystem 😕

@holta The files are in the kolibri-server git repo and would be installed with the deb package.

The rest of the 97-line nginx.conf uses wsgi for reasons I don’t yet understand. Possibly @jredrejo can say just a bit more the purpose?

Using wsgi would replace the builtin cherrypi server within kolibri the port would not be open as kolibri is not running, different way of running the kolibri python backend. Don’t think it would be overly hard to try to run kolibri in this fashion, captive-portal and admin-console are run like that, drop the uwsgi.ini into place and take elements(proxy_cache_path ‘location’ ) from kolibri-server’s nginx.conf with some tuning could work. The proxy_cache_path would be a new addition into iiab’s mix with the concern about the needed space to run a true caching nginx server so I’m a bit hesitant given the deployed sdcard are pushed to the max already.

I’m thinking adding proxy_force_ranges to IIAB’s nginx configuration might straighten this issue out?