Running Kolibri without a NAS but no server

I am configuring a computer lab to be installed on the island of Taumako in the Solomon Islands. I had originally planned to provide shared data by attaching a USB drive to the wifi router and having the router serve it as an SMB share. But that would mean I need to run Kolibri on each laptop pulling content from the shared drive on the network, the way I am going to do with Kiwix and its Zim files.

Is that a feasible scenario? Or maybe I should use Kolibri to download the data I want and then munge the video files around into being just files on disk?

Adding a server isn’t out of the question, either. Then I could attach both USB disks to it at once instead of having one attached to the router and its clone in storage as a backup (getting hardware out there takes month, so all the singleton items are going out as mirrored pairs), make a RAID1 cluster out of them, and give the students a network share that wouldn’t die when one of the USB disks does.

Without knowing much about your intended use case, I would recommend having just one Kolibri instance manipulating a single Kolibri home directory, and having students access the Kolibri server through the browsers on the other laptops. Having many kolibri instances sharing and writing to a single directory (it’s not clear to me if this is your intention, though) could lead to some complicated issues.

If the NAS is intended as a workaround for limited storage on your server, you could mount the SMB share to the host and use an options.ini file in your Kolibri home folder to set the CONTENT_DIR to wherever the SMB share was mounted. You could even put your entire Kolibri home folder in the SMB store using the KOLIBRI_HOME environment variable, but you’re likely to run into some slowdown there.

Fair warning that using a network mount as your home/content directory this way isn’t really tested, and that you would have to mount the SMB share to a consistent location for it to work properly after reboots, etc.

But I can’t imagine there would be many issues with this scenario if it’s only a single Kolibri instance accessing that directory.

1 Like

I’m actually trying to get away without having a server, just the laptops, a router, and a USB disk. A server adds a lot of surface area that can go wrong and there will be no one to fix it if it does.

I’m thinking that the right way to go is to set up a Kolibri instance on my own machine, download the content I want, and write a program to export static HTML with the videos embedded in it, and then put those files on the shared drive.

If you want to use Kolibri itself, along with its logins, coach tools, interactive exercises, search engine, recommendations, updating mechanisms, and the rest, then you’d need a server device of some sort. Could just be a Raspberry Pi. And then it wouldn’t be exposing a file share in that case, it’d just be accessed via HTTP from its IP/port over the network.

If you just want a static set of videos, then you could dump them as HTML, yes.

1 Like