Package services for schools #COVIDsupport

As educational institutions across the world are sending pupils and teachers to work from home because of the ongoing COVID pandemic, there is an urgent need for the key open source remote teaching and working solutions we know to be packaged as NixOS services. The same of course holds for companies and institutions that have to work from home almost overnight.

Traditional uptake is limited as it is too much to expect all these folks to have sysadmin skills, so people are resorting to proprietary platforms. However, that often comes with a huge privacy cost. It also creates a single point of failure: who know what will happen in the coming weeks.

Once packaged as a service, it becomes much easier to run in this time of crisis. Obviously, not everyone is using Nix yet so creating a solid delivery flow is something that needs to be done as well. So lets make it easy for people to go the open source way!

This is a huge opportunity for FOSS alternatives like Peertube, Cryptpad, SylkServer etc. We are currently compiling a list of services that would be great to have packaged, from NGI Zero as well as from the wide selection of open alternatives. Millions of kids around the world could benefit from this, not just now but for years to come.

Are there people interested in helping out? Suggestions for suitable tools also welcome.

Some examples of applications:

  [y] means the package is available
  [-] means this package is being worked on already, please help debug

[-] Sylk Server
[-] Jitsi Meet WIP
[ ] Spreed.ME
[ ] OX Documents
[ ] PeerTube
[ ] Corteza
[-] Discourse WIP
[ ] Flarum
[-] FileSender WIP
[ ] BigBlueButton
[y] CryptPad - packaged
[y] NextCloud - packaged
[y] CodiMD - packaged

7 Likes

This might sound perverse but it would be great if there was a one click install for one note 2016 (free but not libre) . Lots of students use it. (Speaking for my extended family)

I have no experience with that. Is that selfhosted?

For note-taking, https://joplinapp.org/ is packaged and that works with e.g. NextCloud.

It’s a first class citizen of the ms office suite. It’s either offline or synced with Microsoft OneDrive.

Well, I see no harm in someone packaging it if that is allowed license-wise. It is a bit different in focus from the kind of thing we meant: services suitable to be used by classes of students (videoconferencing tools like Sylk Server, Jitsi Meet, Spreed.me), and schools. This also includes tools like Discourse, so there is a nice recursive effect. I will add some examples to the top posting.

I think this is a great idea. I’m interested in helping out, though I don’t know how soon I’ll be able to do so. But I wanted to chime in a note of support for the concept.

1 Like

Jitsi Meet is ready for review & testing:


Could use some help improve the Java & Node parts packaging.

3 Likes

That is awesome! I will start testing immediately!

Great initiative! I’d like to add BigBlueButton to the list. (I opened a packaging request for it a few days ago: https://github.com/NixOS/nixpkgs/issues/82737)

Agreed. Added to the list.

I’ll have a look on packaging FileSender now.

Packaging BBB seems to be above my skill levels, but I opened a “placeholder” draft PR anyway so at least there’s a place to discuss how to do the packaging: https://github.com/NixOS/nixpkgs/pull/83072

2 Likes

Oh, and I think Moodle could belong to that list too, but that we have already packaged! :relaxed: Just thought I’d mention.

Hi, I am the maintainer of FileSender… Some information about FileSender minimal packaging…

I had put up the following information for folks who want a FileSender instance to play with but do not have or want a SimpleSAML setup: https://docs.filesender.org/v2.0/faq/
… Somehow that lost the main page menu link.

That is more geared to a static userbase with preset fixed passwords. Such a setup is not ideal from a number of perspectives, but is also the minimal and most basic setup that can be done which might be handy for 20-30 users.

It would mean editing the config file to setup or change users around, which might not be a big deal if the service is up and running. One caveat: since this is a testing only type thing I have not rigorously studied the security of it. It would be an option later to make a script to migrate that config to something else later if simplesaml is packaged etc.

With the above setup you need a database, web server, and php 7. Unless I forgot something.
https://docs.filesender.org/v2.0/install/

Please open an issue on the project github https://github.com/filesender/filesender/issues if you run into (or have already run into) any troubles.

rereading that faq I linked, you need simplesamlphp (step 4 of the install doc) but do not need any other authentication servers with that setup.

Simplesamlphp seems to be quite challenging to package as it requires a lot of dependencies and they are installed with Composer: https://simplesamlphp.org/docs/development/simplesamlphp-install-repo

And if I now understood correctly, FileSender requires a working installation of Simplesamlphp. So, I’m a bit stuck… I wrote more details on my draft PR. If anyone wants to chime in, let’s discuss on that PR rather than spamming this thread: https://github.com/NixOS/nixpkgs/pull/83077

I discovered that there is a warning at the top of that page that points to a solution:

Warning

You are browsing documentation for the development version of SimpleSAMLphp. You may want to go to the latest stable version of the documentation.

This points to a release version that does not require Composer: https://simplesamlphp.org/docs/stable/simplesamlphp-install

@monkeyiq: that is right?

1 Like

Yes, you will want to use the latest stable release of SimpleSAMLphp. IIRC it is just a matter of extracting the archive for it. No additional npm install or composer usage required.

There are one or two commands in installation step 4 (from https://docs.filesender.org/v2.0/install/) before the extra suggestions for security starting with “There are some thoughts on updates to your SimpleSAMLphp configuration which may improve security”. You might want to skip over the extra security suggestions for an initial build and add them if desired only once you know things are working.

As far as SimpleSAMLphp goes, if you are using apache the config template in filesender distribution at config-templates/apache/filesender.conf will allow the web server to access things if they are in the expected location. So SimpleSAMLphp installation should be close to expanding it to a known location and mv/cp a few files. If you are using the shortcut auth then the username and password information is stored in a config file and you have to touch modules/exampleauth/enable in the simplesamlphp install which might as well be done by the packaging.

I will cc this to the github link and move discussion for filesender over there to save this thread for wider use.

1 Like

Hi, I think it might be nice to tie in the protein sequence folding during quiet hours too:

Like, videoconference during the day and Folding@night … Anybody has an idea how to integrate/handle this?

It might also be of use to check the security of the final setup: https://github.com/sektioneins/pcc

Discourse in progress

3 Likes